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


New-PSDrive

Создает временные и постоянные сопоставленные сетевые диски.

Синтаксис

New-PSDrive
   [-Name] <String>
   [-PSProvider] <String>
   [-Root] <String>
   [-Description <String>]
   [-Scope <String>]
   [-Persist]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

Описание

Командлет New-PSDrive создает временные и постоянные диски, сопоставленные или связанные с расположением в хранилище данных, например сетевой диск, каталог на локальном компьютере или раздел реестра, а также постоянные сетевые диски, сопоставленные с расположением файловой системы на удаленном компьютере.

Временные диски существуют только в текущем сеансе PowerShell и в сеансах, создаваемых в текущем сеансе. Они могут иметь любое имя, допустимое в PowerShell, и может быть сопоставлено с любым локальным или удаленным ресурсом. Для доступа к данным в связанном хранилище данных можно использовать временные диски PowerShell, как и любые сопоставленные сетевые диски. Вы можете изменить расположения на диске с помощью Set-Location, cdили chdir, а также получить доступ к содержимому диска с помощью Get-Item, Get-ChildItemили dir.

Тем не менее, поскольку временные диски известны только в PowerShell, их нельзя получить с помощью проводника, инструментария управления Windows (WMI), объектной модели компонента (COM) или Microsoft .NET Framework или с помощью таких средств, как Net Use.

Следующие функции добавляются в New-PSDrive в Windows PowerShell 3.0:

  • Сопоставленные сетевые диски. Для создания сопоставленных сетевых дисков Windows можно использовать параметр сохранитьNew-PSDrive. В отличие от временных дисков PowerShell, сопоставленные с Windows сетевые диски не зависят от сеанса. Они сохраняются в Windows и могут управляться с помощью стандартных средств Windows, таких как проводник и net Use. Сопоставленные сетевые диски должны иметь имя буквы диска и подключаться к удаленному расположению файловой системы. Если команда находится в пределах локальной области (без dot-sourcing), параметр "Сохранить" не сохраняет создание PSDrive за пределами области выполнения команды. Если вы выполняете New-PSDrive внутри скрипта, и требуется, чтобы диск сохранялось на неопределенный срок, необходимо использовать сценарий dot-source. Чтобы получить наилучшие результаты, чтобы принудительно сохранить новый диск на неопределенный срок, добавьте параметр области в команду и задайте для нее значение Global.
  • Внешние диски. При подключении внешнего диска к компьютеру PowerShell автоматически добавляет PSDrive в файловую систему, представляющую новый диск. Не нужно перезапустить PowerShell. Аналогичным образом, если внешний диск отключен от компьютера, PowerShell автоматически удаляет PSDrive, представляющий удаленный диск.
  • Учетные данные для UNC-путей.

Если значение параметра корневой является UNC-путем, например \\Server\Share, учетные данные, указанные в значении параметра Credential, используются для создания PSDrive. В противном случае учетных данных не действует при создании новых дисков файловой системы.

Примеры

Пример 1. Создание диска, сопоставленного с сетевым ресурсом

New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"

Name       Provider      Root
----       --------      ----
P          FileSystem    \\Server01\Public

Эта команда создает временный диск PowerShell с именем P: сопоставлен с общей папкой \\Server01\Public network share.

Он использует параметр Name для указания имени диска, параметра PSProvider для указания поставщика файловой системы PowerShell и параметра root, чтобы указать сетевую папку.

После завершения команды содержимое общей папки \\Server01\Public отображается на диске P: . Чтобы просмотреть их, введите: dir P:.

Пример 2. Создание временного диска

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

Эта команда создает временный диск PowerShell, предоставляющий быстрый доступ к локальному каталогу. Он создает диск MyDocs: сопоставлен с каталогом "C:\Documents and Settings\User01\My Documents" на локальном компьютере.

Он использует имени , чтобы указать имя диска, PSProvider, чтобы указать поставщик файловой системы PowerShell, корневой, чтобы указать путь к папке "Мои документы" и параметру Description для создания описания диска.

По завершении команды содержимое папки "Мои документы" отображается на диске MyDocs:. Чтобы просмотреть их, введите: dir MyDocs:.

Пример 3. Создание диска для раздела реестра

New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"

Name       Provider      Root
----       --------      ----
MyCompany  Registry      HKEY_LOCAL_MACHINE\Software\MyCo...

Эта команда создает временный диск PowerShell, предоставляющий быстрый доступ к часто проверяемого раздела реестра. Он создает диск с именем MyCompany, сопоставленный с разделом реестра HKLM\Software\MyCompany.

Он использует name для указания имени диска, PSProvider для указания поставщика реестра PowerShell и корневого для указания раздела реестра.

После завершения команды содержимое ключа MyCompany отображается на диске MyCompany:. Чтобы просмотреть их, введите: dir MyCompany:.

Пример 4. Создание сохраненного сопоставленного сетевого диска

New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use

Status       Local     Remote                    Network
---------------------------------------------------------
OK           S:        \\Server01\Scripts        Microsoft Windows Network

Эта команда создает сопоставленный сетевой диск "S" на локальном компьютере. Диск "S" сопоставляется с сетевой папкой \\Server01\Scripts.

Команда использует New-PSDrive для создания сопоставленного сетевого диска. Он использует сохранить для создания сопоставленного сетевого диска Windows, сохраненного на локальном компьютере.

Команда использует name, чтобы указать имя буквы, которое Windows принимает и корневой, чтобы указать расположение на удаленном компьютере. Он использует PSProvider для указания поставщика FileSystem.

Полученный диск можно просмотреть в других сеансах PowerShell на локальном компьютере, в проводнике Windows и других средствах, таких как Net Use.

Пример 5. Создание постоянных и временных дисков

# Create a temporary PowerShell drive called PSDrive: that is mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Use the *Persist* parameter of **New-PSDrive** to create the X: mapped network drive, which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Now, you can use the **Get-PSDrive** drive cmdlet to examine the two drives. The drives appear to be the same, although the network share name appears only in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"

Name       Provider      Root
----       --------      ----

PsDrive    FileSystem    \\Server01\public
X          FileSystem    X:\

# Get-Member cmdlet shows that the drives have the same object type, System.Management.Automation.PSDriveInfo.
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()
...

# Net Use and Get-WmiObject for the Win32_LogicalDisk class, and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-WmiObject Win32_LogicalDisk | Format-Table -Property DeviceID
Get-WmiObject Win32_NetworkConnection

Status       Local     Remote                    Network
--------------------------------------------------------
OK           X:        \\contoso-pc\data            Microsoft Windows Network

deviceid
--------
C:
D:
X:

LocalName                  RemoteName                 ConnectionState            Status
---------                  ----------              ---------------               ------
X:                         \\products\public          Disconnected               Unavailable

В этом примере показано различие между постоянным сопоставленным сетевым диском и временным диском PowerShell, сопоставленным с той же сетевой общей папкой.

Если закрыть сеанс PowerShell, а затем открыть новый, psDrive: диск исчез, а X: диск сохраняется. Поэтому при принятии решения о том, какой метод следует использовать для сопоставления сетевых дисков, рассмотрите, как будет использоваться диск, должен ли он быть постоянным и должен ли диск быть видимым для других функций Windows.

Параметры

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например объект, созданный командлетом Get-Credential. При вводе имени пользователя этот командлет запрашивает пароль.

Начиная с Windows PowerShell 3.0, если значение параметра корневого является UNC-путем, можно использовать учетные данные для создания дисков файловой системы. Этот параметр не поддерживается всеми поставщиками PowerShell.

Тип:PSCredential
Position:Named
Default value:Current user
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Description

Указывает краткое описание текста диска. Введите любую строку.

Чтобы просмотреть описания всех дисков в сеансе, введите Get-PSDrive | Format-Table Name, Description. Чтобы просмотреть описание определенных дисков, введите (Get-PSDrive \<DriveName\>).Description.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

Задает имя нового диска. Для постоянных сопоставленных сетевых дисков введите букву диска. Для временных дисков PowerShell введите любую допустимую строку; Вы не ограничены буквами диска.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Persist

Указывает, что этот командлет создает сопоставленный сетевой диск Windows. Сопоставленные сетевые диски сохраняются в Windows на локальном компьютере. Они являются постоянными, а не конкретными сеансами, и их можно просматривать и управлять ими в проводнике и других средствах.

При локальной области команды, то есть без dot-sourcing параметр "Сохранить" не сохраняет создание PSDrive за пределами области выполнения команды. Если вы запускаете New-PSDrive внутри скрипта, и вы хотите, чтобы новый диск сохранялось на неопределенный срок, необходимо использовать сценарий dot-source. Чтобы получить наилучшие результаты, чтобы принудительно сохранить новый диск, укажите global в качестве значения параметра области в дополнение к добавлению сохранить в команду.

Имя диска должно быть буквой, например "D" или "E". Значение параметра Root должно быть UNC-путем другого компьютера. Значение параметра PSProvider должно быть FileSystem.

Чтобы отключить сопоставленный сетевой диск Windows, используйте командлет Remove-PSDrive. При отключении подключенного сетевого диска Windows сопоставление окончательно удаляется с компьютера, а не только из текущего сеанса.

Сопоставленные сетевые диски относятся к учетной записи пользователя. Сопоставленные диски, созданные в сеансах с повышенными привилегиями или сеансах с использованием учетных данных другого пользователя, не отображаются в сеансах, запущенных с использованием различных учетных данных.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PSProvider

Указывает поставщик PowerShell, поддерживающий диски такого типа.

Например, если диск связан с сетевым ресурсом или каталогом файловой системы, поставщик PowerShell — FileSystem. Если диск связан с разделом реестра, поставщиком является Реестр.

Временные диски PowerShell можно связать с любым поставщиком PowerShell. Сопоставленные сетевые диски могут быть связаны только с поставщиком FileSystem.

Чтобы просмотреть список поставщиков в сеансе PowerShell, используйте командлет Get-PSProvider.

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Root

Указывает расположение хранилища данных, с которым сопоставляется диск PowerShell.

Например, укажите сетевую папку, например \\Server01\Public, локальный каталог, например C:\Program Files, или раздел реестра, например HKLM:\Software\Microsoft.

Временные диски PowerShell можно связать с локальным или удаленным расположением на любом поддерживаемом диске поставщика. Сопоставленные сетевые диски могут быть связаны только с расположением файловой системы на удаленном компьютере.

Тип:String
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Scope

Указывает область для диска. Допустимыми значениями этого параметра являются глобальные, локальные и скрипты или число относительно текущей области. Число областей 0 по количеству областей. Текущее число области равно 0, а его родительский — 1. Дополнительные сведения см. в about_Scopes.

Тип:String
Position:Named
Default value:Local
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-UseTransaction

Включает команду в активную транзакцию. Этот параметр действителен только в том случае, если выполняется транзакция. Дополнительные сведения см. в about_Transactions.

Тип:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Входные данные в этот командлет невозможно передать.

Выходные данные

PSDriveInfo

Примечания

  • New-PSDrive предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, используйте Get-PSProvider. Дополнительные сведения о поставщиках см. в about_Providers.
  • Сопоставленные сетевые диски относятся к учетной записи пользователя. Сопоставленные диски, созданные в сеансах с повышенными привилегиями или сеансах с использованием учетных данных другого пользователя, не отображаются в сеансах, запущенных с использованием различных учетных данных.