Program PowerShell nie może utworzyć folderu podczas montowania w sieci


1

Utworzyłem dysk z literą Z: i udostępniłem go, aby ścieżka sieciowa była: \\GOELA2682012SRV\srv2012r2

Chcę teraz utworzyć tam folder za pomocą programu PowerShell.

To nie działa: New-Item -Path "\\GOELA2682012SRV\srv2012r2\Users\test" -ItemType Directory

Chociaż to działa: New-Item -Path "Z:\Users\test" -ItemType Directory

Czemu?


Czy mkdir \\GOELA2682012SRV\srv2012r2\Users\testdziała w cmd.exe?
grawitacja

Tak, robi @grawity
PoTTii

Czy przygotowanie FileSystem::do ścieżki UNC działa? FileSystem::\\GOELA2682012SRV\srv2012r2\Users\test
FastEthernet

Odpowiedzi:


4

Spróbuj przejść FileSystem::do ścieżki UNC, aby się stałoFileSystem::\\GOELA2682012SRV\srv2012r2\Users\test

Zachowanie programu PowerShell może być trochę zabawne, gdy przekazujesz ścieżkę UNC do niektórych poleceń cmdlet. PowerShell nie rozpoznaje tych ścieżek jako „zrootowanych”, ponieważ nie są one na PSDrive; jako taki, niezależnie od dostawcy powiązanego z bieżącą lokalizacją PowerShell, spróbuje je obsłużyć. Na przykład:

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

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

Pierwsze polecenie działa poprawnie (zakładając, że masz włączony udział AC $ i masz dostęp do niego), a drugie polecenie powoduje błąd „Nie można znaleźć ścieżki”, ponieważ dostawca rejestru próbował pracować ze ścieżką UNC zamiast dostawcy FileSystem . Możesz obejść ten problem, poprzedzając ścieżkę UNC słowem „FileSystem ::”, co spowoduje, że PowerShell będzie korzystał z tego dostawcy niezależnie od bieżącej lokalizacji.

PowerShell Gotcha: ścieżki i dostawcy UNC


To szalone ... działało dla mnie.
Alex K

Uratowałem mi życie - wywołanie skryptu PowerShell z agenta SQL, który z kolei użył importowanego polecenia cmdlet. To było rozwiązanie.
Nate Anderson,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.