Подключение сетевых дисков через PowerShell

Для подключения сетевых дисков через PowerShell можно использовать два комнадлета:

New-PSDrive — для версий PowerShell 3+
New-SmbMapping — для версий PowerShell 5+

Проверить версию PowerShell-а можно:

 $PSVersionTable
 или
 host

Обновить PowerShell до необходимой версии — https://blog.airmeno.ru/?p=803

New-SmbMapping имеет некую проблему, которая заключается в том, что после отработки командлета в Проводнике не отображается сам диск, хотя доступен через командную строку. Решение — перезагрузка или перезапуск процесса explorer.exe:

Stop-Process -ProcessName explorer

Я использую New-PSDrive:

New-PSDrive -Name "X" -PSProvider "FileSystem" -Root "\Path_ro\directory" -Persist
  • Name «X» — имя/буква подключаемого диска (A-Z);
  • PSProvider «FileSystem» — указывает, что подключение к сетевому каталогу (варианты подключения — Get-PSProvider);
  • Root «\Path_ro\directory» — точка подключения к сетевому ресурсу;
  • Persist — наличие ключа указывает на автоматическое переподключение сетевого диска после перезагрузки.

Подключение сетевого диска от имени другого пользователя:

$Cred = Get-Credential 
New-PSDrive -Name "X" -PSProvider "FileSystem" -Root "\Path_ro\directory" -Persist -Credential $Cred

Просмотр всех подключенных дисков:

Get-PSDrive

Отключить сетевой диск:

 Remove-PSDrive -Name "X"
 или 
 Remove-PSDrive -Name "X" -Force

Подробнее про командлеты:

https://docs.microsoft.com/ru-ru/previous-versions/powershell/module/microsoft.powershell.management/new-psdrive

https://docs.microsoft.com/en-us/powershell/module/smbshare/new-smbmapping

Top