Zarządzanie dyskami programu PowerShell
Ten przykład dotyczy tylko platform systemu Windows.
Dysk programu PowerShell to lokalizacja magazynu danych, do której można uzyskać dostęp jak dysk systemu plików w programie PowerShell. Dostawcy programu PowerShell tworzą pewne dyski, takie jak dyski systemu plików (w tym C:
i D:
), dyski rejestru (HKCU:
i HKLM:
) oraz dysk certyfikatu (Cert:
), a także można utworzyć własne dyski programu PowerShell. Te dyski są przydatne, ale są dostępne tylko w programie PowerShell. Nie można uzyskać do nich dostępu przy użyciu innych narzędzi systemu Windows, takich jak Eksplorator plików lub Cmd.exe
.
Program PowerShell używa rzeczownika PSDrive dla poleceń, które działają z dyskami programu PowerShell. Aby uzyskać listę dysków programu PowerShell w sesji programu PowerShell, użyj Get-PSDrive
polecenia cmdlet .
Get-PSDrive
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
Alias Alias
C FileSystem C:\ ...And Settings\me
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Mimo że dyski w wyświetlaczu różnią się w zależności od dysków w systemie, powinny wyglądać podobnie do danych wyjściowych Get-PSDrive
polecenia pokazanego powyżej.
Dyski systemu plików są podzbiorem dysków programu PowerShell. Dyski systemu plików można zidentyfikować według wpisu System plików w kolumnie Dostawca. Dyski systemu plików w programie PowerShell są obsługiwane przez dostawcę systemu plików programu PowerShell.
Aby wyświetlić składnię Get-PSDrive
polecenia cmdlet, wpisz Get-Command
polecenie z parametrem Składnia :
Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]
Parametr PSProvider umożliwia wyświetlanie tylko dysków programu PowerShell obsługiwanych przez określonego dostawcę. Aby na przykład wyświetlić tylko dyski programu PowerShell obsługiwane przez dostawcę systemu plików programu PowerShell, wpisz Get-PSDrive
polecenie z parametrem PSProvider i wartością FileSystem :
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Aby wyświetlić dyski programu PowerShell reprezentujące gałąź rejestru, użyj parametru PSProvider , aby wyświetlić tylko dyski programu PowerShell obsługiwane przez dostawcę rejestru programu PowerShell:
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Możesz również użyć standardowych poleceń cmdlet Location z dyskami programu PowerShell:
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Dodawanie nowych dysków programu PowerShell
Możesz dodać własne dyski programu PowerShell przy użyciu New-PSDrive
polecenia . Aby uzyskać składnię polecenia New-PSDrive
, wprowadź Get-Command
polecenie z parametrem Składnia :
Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]
Aby utworzyć nowy dysk programu PowerShell, należy podać trzy parametry:
- Nazwa dysku (można użyć dowolnej prawidłowej nazwy programu PowerShell)
- PsProvider — służy
FileSystem
do lokalizacji systemu plików iRegistry
lokalizacji rejestru - Katalog główny, czyli ścieżka do katalogu głównego nowego dysku
Można na przykład utworzyć dysk o nazwie Office
zamapowany na folder zawierający aplikacja pakietu Office licacje firmy Microsoft na komputerze, na przykład C:\Program Files\MicrosoftOffice\OFFICE11
.
Aby utworzyć dysk, wpisz następujące polecenie:
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Uwaga
Ogólnie rzecz biorąc, ścieżki nie są uwzględniane wielkości liter.
Dostęp do dysku programu PowerShell jest uzyskiwany przy użyciu jego nazwy, po której następuje dwukropek (:
).
Dysk programu PowerShell może znacznie ułatwić wykonywanie wielu zadań. Na przykład niektóre z najważniejszych kluczy w rejestrze systemu Windows mają bardzo długie ścieżki, co sprawia, że są one kłopotliwe, aby uzyskać dostęp i trudne do zapamiętania. Informacje o konfiguracji krytycznej znajdują się w obszarze HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Aby wyświetlić i zmienić elementy w kluczu rejestru CurrentVersion, możesz utworzyć dysk programu PowerShell, który jest zakorzeniony w tym kluczu, wpisując:
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Następnie możesz zmienić lokalizację na cvkey: dysk, tak jak każdy inny dysk:
cd cvkey:
or:
Set-Location cvkey: -PassThru
Path
----
cvkey:\
Polecenie New-PSDrive
cmdlet dodaje nowy dysk tylko do bieżącej sesji programu PowerShell. Jeśli zamkniesz okno programu PowerShell, nowy dysk zostanie utracony. Aby zapisać dysk programu PowerShell, użyj Export-Console
polecenia cmdlet , aby wyeksportować bieżącą sesję programu PowerShell, a następnie zaimportuj go za pomocą parametru PowerShell.exe
PSConsoleFile . Możesz też dodać nowy dysk do profilu programu Windows PowerShell.
Usuwanie dysków programu PowerShell
Dyski z programu PowerShell można usunąć przy użyciu Remove-PSDrive
polecenia cmdlet . Jeśli na przykład dodano Office:
dysk programu PowerShell, jak pokazano w New-PSDrive
temacie, możesz go usunąć, wpisując:
Remove-PSDrive -Name Office
Aby usunąć cvkey:
dysk programu PowerShell, użyj następującego polecenia:
Remove-PSDrive -Name cvkey
Nie można go jednak usunąć, gdy znajdujesz się na dysku. Na przykład:
cd office:
Remove-PSDrive -Name office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ remove-psdrive <<<< -name office
Dodawanie i usuwanie dysków poza programem PowerShell
Program PowerShell wykrywa dyski systemu plików, które są dodawane lub usuwane w systemie Windows, w tym:
- dyski sieciowe mapowane
- Podłączone dyski USB
- Dyski, które są usuwane przy użyciu
net use
polecenia lub skryptu hosta skryptów systemu Windows (WSH)