Управление дисками PowerShell
Этот пример применяется только к платформам Windows.
Диск PowerShell — это расположение хранилища данных, к которому можно получить доступ, например к диску файловой системы в PowerShell. Поставщики PowerShell создают для вас некоторые диски, такие как диски файловой системы (включая C:
и D:
), диски реестра (HKCU:
и HKLM:
), а также диск сертификата (Cert:
) и вы можете создать собственные диски PowerShell. Эти диски полезны, но они доступны только в PowerShell. Вы не можете получить доступ к ним с помощью других средств Windows, таких как проводник или Cmd.exe
.
PowerShell использует существительное, PSDrive, для команд, работающих с дисками PowerShell. Чтобы получить список дисков PowerShell в сеансе Get-PSDrive
PowerShell, используйте командлет.
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
Хотя диски в дисплее зависят от дисков в вашей системе, ваши устройства должны выглядеть примерно так же, как и в выходных данных команды, показанной Get-PSDrive
выше.
Диски файловой системы — это подмножество дисков PowerShell. Диски файловой системы можно определить с помощью записи FileSystem в столбце "Поставщик". Диски файловой системы в PowerShell поддерживаются поставщиком Файловой системы PowerShell.
Чтобы просмотреть синтаксис командлетаGet-PSDrive
, введите Get-Command
команду с параметром Синтаксиса:
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>]
Параметр PSProvider позволяет отображать только диски PowerShell, поддерживаемые определенным поставщиком. Например, чтобы отобразить только диски PowerShell, поддерживаемые поставщиком Файловой системы PowerShell, введите Get-PSDrive
команду с параметром PSProvider и значением FileSystem :
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Чтобы просмотреть диски PowerShell, представляющие кусты реестра, используйте параметр PSProvider , чтобы отобразить только диски PowerShell, поддерживаемые поставщиком реестра PowerShell:
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Можно также использовать стандартные командлеты Location с дисками PowerShell:
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Добавление новых дисков PowerShell
Вы можете добавить собственные диски PowerShell с помощью New-PSDrive
команды. Чтобы получить синтаксис команды, введите Get-Command
команду с параметром Синтаксиса:New-PSDrive
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]
Чтобы создать новый диск PowerShell, необходимо указать три параметра:
- Имя диска (можно использовать любое допустимое имя PowerShell)
- PSProvider — используется
FileSystem
для расположений файловой системы иRegistry
для расположений реестра - корень, т. е. путь к корню нового диска.
Например, можно создать диск с именемOffice
, сопоставленным с папкой, содержащей Приложение Office ликации Майкрософт на компьютере, напримерC:\Program Files\MicrosoftOffice\OFFICE11
.
Чтобы создать диск, введите следующую команду:
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Примечание.
Как правило, пути не учитывает регистр.
Доступ к диску PowerShell осуществляется с помощью имени, за которым следует двоеточие (:
).
Диск PowerShell может упростить множество задач. Например, некоторые наиболее важные разделы в реестре Windows содержат слишком длинные пути, что делает их громоздкими и сложными для запоминания. Сведения о критической конфигурации см. в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Чтобы просмотреть и изменить элементы в разделе реестра CurrentVersion, можно создать диск PowerShell, корневой в этом разделе, введя следующее:
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
После этого можно изменить расположение на диск cvkey: (как и для любого другого диска):
cd cvkey:
или:
Set-Location cvkey: -PassThru
Path
----
cvkey:\
Командлет New-PSDrive
добавляет новый диск только в текущий сеанс PowerShell. Если закрыть окно PowerShell, новый диск будет потерян. Чтобы сохранить диск PowerShell, используйте Export-Console
командлет для экспорта текущего сеанса PowerShell, а затем используйте PowerShell.exe
параметр PSConsoleFile для импорта. Также можно добавить новый диск в профиль Windows PowerShell.
Удаление дисков PowerShell
Вы можете удалить диски из PowerShell с помощью командлета Remove-PSDrive
. Например, если вы добавили Office:
диск PowerShell, как показано в New-PSDrive
разделе, его можно удалить, введя следующее:
Remove-PSDrive -Name Office
Чтобы удалить cvkey:
диск PowerShell, используйте следующую команду:
Remove-PSDrive -Name cvkey
Однако его нельзя удалить, пока вы находитесь на диске. Например:
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
Добавление и удаление дисков за пределами PowerShell
PowerShell обнаруживает диски файловой системы, которые добавляются или удаляются в Windows, в том числе:
- сетевые диски, сопоставленные
- USB-накопители, подключенные
- Диски, удаленные с помощью
net use
команды или из скрипта узла скриптов Windows (WSH)
PowerShell