Comment déconnecter un lecteur réseau à l'aide de PowerShell

14

Je voudrais déconnecter un lecteur réseau (Y :) avec PowerShell. Cette lettre de lecteur est affectée / mappée à un emplacement réseau. Existe-t-il un moyen simple de le faire?

Je crois que "net use XXX / delete" ferait cela.

Le problème est:

C:\Windows>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Y:        \\192.168.1.108\d         Microsoft Windows Network
The command completed successfully.

pourquoi quand j'essaye:

C:\Windows>net use \\192.168.1.108\d  /del

Je reçois:

C:\Windows>net use \\192.168.1.108\d  /del
The network connection could not be found.

More help is available by typing NET HELPMSG 2250.

????

FernandoSBS
la source

Réponses:

10

Dans powershell, vous pouvez émettre un ensemble de commandes comme celle-ci pour déconnecter un lecteur, étant donné uniquement l'UNC que vous avez utilisé pour vous connecter et sans connaître la lettre de lecteur qui a été mappée.

La partie délicate est que vous devez échapper le \caractère pour l'utiliser dans la requête WMI.

$Drive = Get-WmiObject -Class Win32_mappedLogicalDisk -filter "ProviderName='\\\\192.168.1.108\\d'"
net use $Drive.Name /delete
Zoredache
la source
2
Cliquez /ysur Ajouter pour net use $Drive.Name /deleteforcer la fermeture de toutes les connexions ouvertes sur le lecteur. S'il y a des connexions ouvertes, vous net usedemandera une action que vous ne voulez pas au milieu d'une exécution de script sans assistance.
Alan Donnelly
6

Je voudrais suggérer d'utiliser le propre Remove-PSDrive de PowerShell. Par exemple:

Remove-PSDrive Y

N'incluez pas de deux-points ou une barre oblique inverse; utilisez uniquement la lettre de lecteur.

Guy Thomas
la source
7
Remove-psdrive Y ne supprimera pas complètement le lecteur et laissera un mappage de lecteur réseau qui générera une erreur lorsque vous essayez de recréer le ps-lecteur dans la même session. Vous devez utiliser net use / delete afin de résoudre ce problème. ce serait bien si la commande powershell remove-psdrive supprimait réellement le lecteur.
C'est correct. PowerShell 5 fournit Remove-SmbMapping qui fonctionne (voir la réponse ci-dessous)
Minkus
3

Modification de ma réponse en fonction de votre commentaire

Utilisation nette Y: / supprimer

Keltari
la source
Je crois que je ne me suis pas bien exprimé. Ce que je veux, c'est supprimer le lecteur de l'explorateur Windows.
FernandoSBS
et si je veux utiliser l'adresse réseau pour le faire?
FernandoSBS
vous ne pouvez pas, vous déconnectez un lecteur, pas un partage
Keltari
vérifier le post initial s'il vous plaît
FernandoSBS
reformulez votre message initial car ce que Keltari a dit est juste. Ce qu'il a dit supprimera le lecteur de l'explorateur Windows
Jason H