New-PSDrive
Tworzy tymczasowe i trwałe zamapowane dyski sieciowe.
Składnia
Default (domyślnie)
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Opis
Polecenie cmdlet New-PSDrive tworzy tymczasowe i trwałe dyski, które są mapowane na lub skojarzone z lokalizacją w magazynie danych, takim jak dysk sieciowy, katalog na komputerze lokalnym lub klucz rejestru oraz trwałe dyski sieciowe mapowane przez system Windows skojarzone z lokalizacją systemu plików na komputerze zdalnym.
Dyski tymczasowe istnieją tylko w bieżącej sesji programu PowerShell i w sesjach utworzonych w bieżącej sesji.
Mogą mieć dowolną nazwę prawidłową w programie PowerShell i mogą być mapowane na dowolny zasób lokalny lub zdalny.
Możesz użyć tymczasowych dysków programu PowerShell, aby uzyskać dostęp do danych w skojarzonym magazynie danych, podobnie jak w przypadku dowolnego zamapowanego dysku sieciowego.
Lokalizacje można zmienić na dysk przy użyciu Set-Location, cdlub chdiri uzyskać dostęp do zawartości dysku przy użyciu Get-Item, Get-ChildItemlub dir.
Jednak ze względu na to, że dyski tymczasowe są znane tylko programowi PowerShell, nie można uzyskać do nich dostępu przy użyciu Eksploratora plików, Instrumentacji zarządzania Windows (WMI), modelu obiektów składników (COM) lub programu Microsoft .NET Framework lub przy użyciu narzędzi takich jak Net Use.
Następujące funkcje są dodawane do New-PSDrive w programie Windows PowerShell 3.0:
- Zamapowane dyski sieciowe.
Aby utworzyć zamapowane dyski sieciowe systemu Windows, można użyć parametru Persist
New-PSDrive. W przeciwieństwie do tymczasowych dysków programu PowerShell, zamapowane dyski sieciowe systemu Windows nie są specyficzne dla sesji. Są one zapisywane w systemie Windows i mogą być zarządzane przy użyciu standardowych narzędzi systemu Windows, takich jak Eksplorator plików i Net Use. Zamapowane dyski sieciowe muszą mieć nazwę litery dysku i być podłączone do zdalnej lokalizacji systemu plików. Gdy polecenie jest ograniczone lokalnie (bez określania wartości kropkowej), parametr Persist nie utrwala tworzenia PSDrive poza zakresem, w którym jest uruchomione polecenie. Jeśli uruchamiaszNew-PSDrivewewnątrz skryptu i chcesz, aby dysk był trwały w nieskończoność, musisz umieścić skrypt dot-source. Aby uzyskać najlepsze wyniki, aby wymusić utrwalanie nowego dysku na czas nieokreślony, dodaj parametr zakresudo polecenia i ustaw jego wartość na Global. - Dyski zewnętrzne. Gdy dysk zewnętrzny jest połączony z komputerem, program PowerShell automatycznie dodaje PSDrive do systemu plików reprezentującego nowy dysk. Nie trzeba ponownie uruchamiać programu PowerShell. Podobnie, gdy dysk zewnętrzny zostanie odłączony od komputera, program PowerShell automatycznie usunie PSDrive, który reprezentuje usunięty dysk.
- Poświadczenia dla ścieżek UNC.
Gdy wartość parametru głównego
Przykłady
Przykład 1. Tworzenie dysku zamapowanego na udział sieciowy
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
P FileSystem \\Server01\Public
To polecenie tworzy tymczasowy dysk programu PowerShell o nazwie P: który jest mapowany na udział sieci \\Server01\Public.
Używa parametru Name do określenia nazwy dysku, parametru PSProvider w celu określenia dostawcy systemu plików programu PowerShell oraz parametru Root w celu określenia udziału sieciowego.
Po zakończeniu polecenia zawartość udziału \\Server01\Public pojawi się na dysku P: .
Aby je wyświetlić, wpisz: dir P:.
Przykład 2. Tworzenie dysku tymczasowego
New-PSDrive -Name MyDocs -PSProvider FileSystem -Root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."
Name Provider Root
---- -------- ----
MyDocs FileSystem C:\Documents and Settings\User01\My Documents
To polecenie tworzy tymczasowy dysk programu PowerShell, który zapewnia szybki dostęp do katalogu lokalnego. Tworzy dysk o nazwie MyDocs: jest mapowany na katalog "C:\Documents and Settings\User01\My Documents" na komputerze lokalnym.
Używa Nazwa, aby określić nazwę dysku, PSProvider określić dostawcę systemu plików programu PowerShell, główny określić ścieżkę folderu Moje dokumenty oraz parametr Opis w celu utworzenia opisu dysku.
Po zakończeniu polecenia zawartość folderu Moje dokumenty zostanie wyświetlona na dysku MyDocs:.
Aby je wyświetlić, wpisz: dir MyDocs:.
Przykład 3. Tworzenie dysku dla klucza rejestru
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo...
To polecenie tworzy tymczasowy dysk programu PowerShell, który zapewnia szybki dostęp do często sprawdzanego klucza rejestru.
Tworzy dysk o nazwie MyCompany zamapowany na klucz rejestru HKLM\Software\MyCompany.
Używa Nazwa, aby określić nazwę dysku, PSProvider określić dostawcę rejestru programu PowerShell i root określić klucz rejestru.
Po zakończeniu polecenia zawartość klucza MyCompany zostanie wyświetlona na dysku MyCompany:.
Aby je wyświetlić, wpisz: dir MyCompany:.
Przykład 4. Tworzenie utrwalonego zamapowanego dysku sieciowego
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use
Status Local Remote Network
---------------------------------------------------------
OK S: \\Server01\Scripts Microsoft Windows Network
To polecenie tworzy zamapowany dysk sieciowy "S" na komputerze lokalnym. Dysk "S" jest mapowany na udział sieciowy \\Server01\Scripts.
Polecenie używa New-PSDrive do utworzenia zamapowanego dysku sieciowego.
Używa on Persist do utworzenia zamapowanego dysku sieciowego systemu Windows zapisanego na komputerze lokalnym.
Polecenie używa Nazwa, aby określić nazwę litery akceptowaną przez system Windows i root w celu określenia lokalizacji na komputerze zdalnym. Używa PSProvider do określenia dostawcy systemu plików.
Wynikowy dysk można wyświetlić w innych sesjach programu PowerShell na komputerze lokalnym, w Eksploratorze Windows i w innych narzędziach, takich jak Net Use.
Przykład 5. Tworzenie dysków trwałych i tymczasowych
# Create a temporary PowerShell drive called PSDrive: that is mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Use the *Persist* parameter of **New-PSDrive** to create the X: mapped network drive, which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Now, you can use the **Get-PSDrive** drive cmdlet to examine the two drives. The drives appear to be the same, although the network share name appears only in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"
Name Provider Root
---- -------- ----
PsDrive FileSystem \\Server01\public
X FileSystem X:\
# Get-Member cmdlet shows that the drives have the same object type, System.Management.Automation.PSDriveInfo.
Get-PSDrive "PSDrive", "x" | Get-Member
TypeName: System.Management.Automation.PSDriveInfo
Name MemberType Definition
---- ---------- ----------
CompareTo Method System.Int32 CompareTo(PSDriveInfo drive),
Equals Method System.Boolean Equals(Object obj),
GetHashCode Method System.Int32 GetHashCode()
...
# Net Use and Get-WmiObject for the Win32_LogicalDisk class, and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-WmiObject Win32_LogicalDisk | Format-Table -Property DeviceID
Get-WmiObject Win32_NetworkConnection
Status Local Remote Network
--------------------------------------------------------
OK X: \\contoso-pc\data Microsoft Windows Network
deviceid
--------
C:
D:
X:
LocalName RemoteName ConnectionState Status
--------- ---------- --------------- ------
X: \\products\public Disconnected Unavailable
W tym przykładzie pokazano różnicę między trwałym mapowanym dyskiem sieciowym a tymczasowym dyskiem programu PowerShell zamapowanym na ten sam udział sieciowy.
Jeśli zamkniesz sesję programu PowerShell, a następnie otworzysz nową, dysk PSDrive: zniknął, a dysk X: będzie się powtarzać. W związku z tym podczas podejmowania decyzji, która metoda ma być używana do mapowania dysków sieciowych, należy wziąć pod uwagę sposób używania dysku, czy musi być trwały i czy dysk musi być widoczny dla innych funkcji systemu Windows.
Parametry
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak "User01" lub "Domain01\User01", lub wprowadź obiekt PSCredential, taki jak jeden wygenerowany przez polecenie cmdlet Get-Credential.
Jeśli wpiszesz nazwę użytkownika, to polecenie cmdlet wyświetli monit o podanie hasła.
Począwszy od programu Windows PowerShell 3.0, gdy wartość parametru root jest ścieżką UNC, można użyć poświadczeń do tworzenia dysków systemu plików. Ten parametr nie jest obsługiwany przez wszystkich dostawców programu PowerShell.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Description
Określa krótki opis tekstowy dysku. Wpisz dowolny ciąg.
Aby wyświetlić opisy wszystkich dysków w sesji, wpisz Get-PSDrive | Format-Table Name, Description.
Aby wyświetlić opis określonych dysków, wpisz (Get-PSDrive \<DriveName\>).Description.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Name
Określa nazwę nowego dysku. W przypadku trwałych mapowanych dysków sieciowych wpisz literę dysku. W przypadku tymczasowych dysków programu PowerShell wpisz dowolny prawidłowy ciąg; nie jest ograniczona do liter dysku.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Persist
Wskazuje, że to polecenie cmdlet tworzy zamapowany dysk sieciowy systemu Windows. Zamapowane dyski sieciowe są zapisywane w systemie Windows na komputerze lokalnym. Są one trwałe, a nie specyficzne dla sesji i mogą być wyświetlane i zarządzane w Eksploratorze plików i innych narzędziach.
Jeśli zakres polecenia jest określony lokalnie, oznacza to, że bez określania źródła kropki parametr Persist nie utrwala tworzenia PSDrive poza zakresem, w którym uruchamiasz polecenie.
Jeśli uruchomisz New-PSDrive wewnątrz skryptu i chcesz, aby nowy dysk był trwały w nieskończoność, musisz umieścić skrypt dot-source.
Aby uzyskać najlepsze wyniki, aby wymusić utrwalanie nowego dysku, określ wartość Global jako wartość parametru Scope oprócz dodania Persist do polecenia.
Nazwa dysku musi być literą, taką jak "D" lub "E". Wartość parametru root musi być ścieżką UNC innego komputera. Wartość parametru PSProvider musi być FileSystem.
Aby odłączyć zamapowany dysk sieciowy systemu Windows, użyj polecenia cmdlet Remove-PSDrive.
Po odłączeniu zamapowanego dysku sieciowego systemu Windows mapowanie zostanie trwale usunięte z komputera, a nie tylko usunięte z bieżącej sesji.
Zamapowane dyski sieciowe są specyficzne dla konta użytkownika. Zamapowane dyski utworzone w sesjach z podwyższonym poziomem uprawnień lub sesjach przy użyciu poświadczeń innego użytkownika nie są widoczne w sesjach rozpoczętych przy użyciu różnych poświadczeń.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-PSProvider
Określa dostawcę programu PowerShell, który obsługuje dyski tego rodzaju.
Jeśli na przykład dysk jest skojarzony z udziałem sieciowym lub katalogiem systemu plików, dostawca programu PowerShell to FileSystem. Jeśli dysk jest skojarzony z kluczem rejestru, dostawca to Rejestr.
Tymczasowe dyski programu PowerShell można skojarzyć z dowolnym dostawcą programu PowerShell. Zamapowane dyski sieciowe można skojarzyć tylko z dostawcą systemu plików.
Aby wyświetlić listę dostawców w sesji programu PowerShell, użyj polecenia cmdlet Get-PSProvider.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 1 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Root
Określa lokalizację magazynu danych, do której jest mapowany dysk programu PowerShell.
Na przykład określ udział sieciowy, taki jak \\Server01\Public, katalog lokalny, taki jak C:\Program Files lub klucz rejestru, taki jak HKLM:\Software\Microsoft.
Tymczasowe dyski programu PowerShell można skojarzyć z lokalną lub zdalną lokalizacją na dowolnym obsługiwanym dysku dostawcy. Zamapowane dyski sieciowe można skojarzyć tylko z lokalizacją systemu plików na komputerze zdalnym.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 2 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Scope
Określa zakres dysku. Dopuszczalne wartości tego parametru to: Globalny, Lokalny i Skrypt lub liczba względna względem bieżącego zakresu. Zakresy 0 przez liczbę zakresów. Bieżący numer zakresu to 0, a jego element nadrzędny to 1. Aby uzyskać więcej informacji, zobacz about_Scopes.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | Local |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | usetx |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.
Dane wyjściowe
PSDriveInfo
Uwagi
-
New-PSDrivejest przeznaczona do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, użyjGet-PSProvider. Aby uzyskać więcej informacji na temat dostawców, zobacz about_Providers. - Zamapowane dyski sieciowe są specyficzne dla konta użytkownika. Zamapowane dyski utworzone w sesjach z podwyższonym poziomem uprawnień lub sesjach przy użyciu poświadczeń innego użytkownika nie są widoczne w sesjach rozpoczętych przy użyciu różnych poświadczeń.