1 votes

PowerShell ne peut pas créer de dossier sur un montage réseau

J'ai créé un lecteur avec la lettre Z et l'ai partagé de sorte que le chemin réseau soit : \\GOELA2682012SRV\srv2012r2

Je veux maintenant créer un dossier à cet endroit en utilisant PowerShell.

Cela ne fonctionne pas : New-Item -Path "\\GOELA2682012SRV\srv2012r2\Users\test" -ItemType Directory

Alors que cela fonctionne : New-Item -Path "Z:\Users\test" -ItemType Directory

Pourquoi ?

4voto

FastEthernet Points 4376

Essayez de préfixer FileSystem:: au chemin UNC, de sorte qu'il devienne FileSystem::\\GOELA2682012SRV\srv2012r2\Users\test

Le comportement de PowerShell peut être un peu étrange lorsque vous passez un chemin UNC à certains cmdlets. PowerShell ne reconnaît pas ces chemins comme étant "rooted" parce qu'ils ne sont pas sur un PSDrive ; en tant que tel, quel que soit le provider associé à l'emplacement actuel de PowerShell tentera de les gérer. Par exemple :

Set-Location C:
Get-ChildItem -Path \\$env:COMPUTERNAME\c$

Set-Location HKLM:
Get-ChildItem -Path \\$env:COMPUTERNAME\c$

La première commande fonctionne bien (en supposant que vous avez un partage c$ activé et que vous pouvez y accéder), et la deuxième commande donne une erreur "Chemin introuvable", car le fournisseur du Registre a essayé de travailler avec le chemin UNC au lieu du fournisseur FileSystem. Vous pouvez contourner ce problème en préfixant le chemin UNC avec "FileSystem::", ce qui fera que PowerShell utilise ce fournisseur indépendamment de votre emplacement actuel.

PowerShell Gotcha: UNC paths and Providers

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X