Définir les fichiers / dossiers réseau hors ligne via un script (batch / powershell)

0

J'essaie d'automatiser le processus en faisant un clic droit sur un dossier ou un fichier, puis en cliquant sur le bouton "Toujours disponible hors connexion" dans Windows 7+.

Je n'ai pas été en mesure de trouver un moyen de commande ou de traitement par lots pour le faire. Jusqu'à présent, j'ai trouvé ce script Powershell qui simule une opération de clic droit sur un élément du menu contextuel (Toujours disponible hors connexion dans mon cas)

   $o = New-Object -ComObject Shell.Application
$o.Namespace("Z:\").Self.verbs() |
  Where-Object { $_.Name -eq 'Always &available offline' } |
  ForEach-Object { $_.DoIt() } 

Ça ne marche pas Si j'essaie de transmettre un chemin UNC de dossier à la place d'un lecteur (disons Z:\foldertomakeavailableoffline, tout ce que je reçois est "Vous ne pouvez pas appeler une méthode sur une expression de valeur null", comme si le dossier que je spécifiais n'existait pas.

Toute aide est appréciée.

Merci.

modifier: semble que l'obtention de verbes à partir de fichiers de lecteur réseau ne fonctionne pas ...?

utilisateur851637
la source
Vous pouvez simuler des clics de souris et des touches du clavier facilement et GRATUITEMENT avec AutoIT. Il est très intuitif et fonctionnel, envisagez donc de l’utiliser si vous souhaitez vraiment automatiser la tâche de sélection de dossiers spécifiques, puis de sélectionner l’option requise dans le menu contextuel du clic droit ou autre.
Pimp Juice IT
Déboguez votre code en exécutant des portions à la fois. Vous pouvez utiliser des lecteurs mappés ou des chemins UNC complets avec NameSpace. Essayez $o = New-Object -ComObject Shell.Applicationalors $o.NameSpace("Z:\foldertomakeavailableoffline").Self.verbs(). Quels sont les résultats?
racine