Поделиться через


New-PSDrive

Создает диск 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.





См. также

Концепции

about_Providers
Get-PSDrive
Remove-PSDrive