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 i Registry 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.exePSConsoleFile . 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)