Создает диск Windows PowerShell в текущем сеансе.
Синтаксис
New-PSDrive [-Name] <string> [-PSProvider] <string> [-Root] <string> [-Credential <PSCredential>] [-Description <string>] [-Scope <string>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Описание
Командлет New-PSDrive создает диск Windows PowerShell, который "подключается" или связывается с местоположением в хранилище данных, таким как сетевой диск, каталог на локальном компьютере или раздел реестра.
Созданные диски Windows PowerShell можно использовать для доступа к данным в связанном хранилище данных, который осуществляется аналогично доступу к любому подключенному диску. Можно изменять местоположение на диске (при помощи команд "Set-Location", "cd" или "chdir") и получать доступ к содержимому диска (при помощи команд "Get-Item", "Get-ChildItem" или "dir").
Однако диски Windows PowerShell доступны только в Windows PowerShell. К ним нельзя получить доступ через проводник, WMI, модель COM, инфраструктуру Microsoft .NET Framework или при помощи средств, таких как Net Use.
Диски Windows PowerShell существуют только в текущем сеансе Windows PowerShell. Чтобы постоянно использовать диск, необходимо экспортировать сеанс, в котором добавлен диск, или сохранить команду New-PSDrive в своем профиле Windows PowerShell.
Чтобы удалить диск, созданный с помощью командлета New-PSDrive, используйте командлет Remove-PSDrive.
Параметры
-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение "Текущий пользователь".
Введите имя пользователя, например "User01" или "Domain01\User01". Или укажите объект PSCredential, например один из объектов, созданных командлетом Get-Credential. При вводе имени пользователя система запросит пароль.
Этот параметр не поддерживается ни одним из установленных с Windows PowerShell поставщиком.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Description <string>
Задает краткое описание диска. Введите любую строку.
Чтобы просмотреть описания всех дисков Windows PowerShell в системе, введите команду "Get-PSDrive | format name, description". Чтобы просмотреть описание конкретного диска Windows PowerShell, введите команду "(get-psdrive <имя_диска>).description".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Name <string>
Задает имя нового диска. В качестве имени можно использовать любую допустимую строку символов. Имя не ограничивается буквой диска. Имена дисков Windows PowerShell вводятся с учетом регистра.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-PSProvider <string>
Задает поставщика Windows PowerShell, поддерживающего диски данного типа.
Например, если диск Windows PowerShell связан с общим сетевым ресурсом или каталогом файловой системы, поставщиком Windows PowerShell будет FileSystem. Если диск Windows PowerShell связан с разделом реестра, используется поставщик Registry.
Чтобы просмотреть список поставщиков для вашего сеанса Windows PowerShell, введите команду "Get-PSProvider".
Обязательно? |
true |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Root <string>
Задает местоположение хранилища данных, которое отображает диск Windows PowerShell.
В частности, можно указать общий сетевой ресурс (например, \\Server01\Public), локальный каталог (например, C:\Program Files) или раздел реестра (например HKLM:\Software\Microsoft).
Обязательно? |
true |
Позиция? |
3 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Scope <string>
Задает область для диска. Допустимые значения: "Global", "Local", "Script" или номер относительно текущей области (от 0 до количества областей, где 0 — текущая область, а 1 — ее родительская область). По умолчанию используется значение "Local". Дополнительные сведения см. в разделе about_Scopes.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
System.Management.Automation.PSDriveInfo |
Примечания
Командлет New-PSDrive предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PSProvider". Дополнительные сведения см. в разделе About_Providers.
Пример 1
C:\PS>new-psdrive -name P -psprovider FileSystem -root \\Server01\Public Name Provider Root ---- -------- ---- P FileSystem \\Server01\Public Описание ----------- Эта команда создает диск Windows PowerShell, функционирующий как подключенный сетевой диск в Windows. Команда создает диск Windows PowerShellс именем "P:", который подключается к общему сетевому ресурсу "\\Server01\Public". Параметр Name используется для задания имени диска, параметр PSProvider — для задания поставщика Windows PowerShell FileSystem, а параметр Root — для задания общего сетевого ресурса. После выполнения команды содержимое общего ресурса "\\Server01\Public" появляется в оглавлении диска "P:". Чтобы просмотреть содержимое, введите команду "dir p:".
Пример 2
C:\PS>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 Описание ----------- Эта команда создает диск Windows PowerShell, предоставляющий быстрый доступ к локальному каталогу. Она создает диск с именем "MyDocs:", который подключается к каталогу "C:\Documents and Settings\User01\My Documents" на локальном компьютере. Параметр Name используется для задания имени диска, параметр PSProvider — для задания поставщика Windows PowerShell FileSystem, параметр Root — для задания пути к папке My Documents, а параметр Description — для создания описания диска. После выполнения команды содержимое папки My Documents появляется в оглавлении диска "MyDocs:". Чтобы просмотреть содержимое, введите команду "dir mydocs:".
Пример 3
C:\PS>new-psdrive -name MyCompany -psprovider Registry -root HKLM:\Software\MyCompany Name Provider Root ---- -------- ---- MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo... Описание ----------- Эта команда создает диск Windows PowerShell, предоставляющий быстрый доступ к часто проверяемому разделу реестра. Она создает диск с именем MyCompany, который подключается к разделу реестра "HKLM\Software\MyCompany". Параметр Name используется для задания имени диска, параметр PSProvider — для задания поставщика Windows PowerShell Registry, а параметр Root — для задания раздела реестра. После выполнения команды содержимое раздела MyCompany появляется в оглавлении диска "MyCompany:". Чтобы просмотреть содержимое, введите команду "dir MyCompany:".
Пример 4
C:\PS>new-psdrive -name PsDrive -psprovider FileSystem -root \\Server01\Public C:\PS> $drive = new-object -com wscript.network C:\PS> $drive.MapNetworkDrive("X:", "\\Server01\Public") C PS:\> get-psdrive public, x Name Provider Root ---- -------- ---- PsDrive FileSystem \\Server01\public X FileSystem X:\ C:\PS>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() ... C:\PS> net use Status Local Remote Network --------------------------------------------------------------------------- X: \\server01\public Microsoft Windows Network C:\PS> get-wmiobject win32_logicaldisk | ft deviceid deviceid -------- C: D: X: C:\PS> get-wmiobject win32_networkconnection LocalName RemoteName ConnectionState Status --------- ---------- --------------- ------ X: \\products\public Disconnected Unavailable Описание ----------- Этот пример демонстрирует различие между диском Windows, подключенным к общему сетевому ресурсу, и диском Windows PowerShell, подключенным к этому же общему сетевому ресурсу. Первая команда с помощью командлета New-PSDrive создает диск Windows PowerShell с именем "PSDrive:", который подключается к общему сетевому ресурсу "\\Server01\Public". Во втором наборе команд используется командлет New-Object, позволяющий создать объект Wscript.Network COM и использовать его метод MapNetworkDrive для подключения общего сетевого ресурса "\\Server01\Public" к диску "X:" на локальном компьютере. Теперь можно сравнить два диска. При выполнении команды Get-PSDrive диски выглядят одинаково, хотя имя общего сетевого ресурса отображается только в корне диска PsDrive:. Передача объектов дисков командлету Get-Member позволяет убедиться, что эти объекты имеют один и тот же тип — System.Management.Automation.PSDriveInfo. Однако команды "net use", Get-WmiObject (отображает экземпляры класса Win32_LogicalDisk) и Get-WmiObject (отображает экземпляры класса Win32_NetworkConnection) находят только диск "X:", который был создан с помощью объекта Wscript.Network. Это обусловлено тем, что диски Windows PowerShell распознаются только оболочкой Windows PowerShell. Если закрыть сеанс Windows PowerShell и затем открыть новый сеанс, диск PSDrive: исчезнет, а диск X: останется. Поэтому при выборе способа подключения сетевых дисков следует учитывать следующие факторы: причину использования диска, необходимость сохранения диска и необходимость сделать диск видимым для других компонентов Windows.
См. также