На первый взгляд очень хочется использовать New-PSDrive
, предоставляя свои учетные данные.
> New-PSDrive -Name P -PSProvider FileSystem -Root \\server\share -Credential domain\user
Сбой!
New-PSDrive : Cannot retrieve the dynamic parameters for the cmdlet. Dynamic parameters for NewDrive cannot be retrieved for the 'FileSystem' provider. The provider does not support the use of credentials. Please perform the operation again without specifying credentials.
В документации говорится, что вы можете предоставить PSCredential
объект, но если вы посмотрите поближе, командлет пока не поддерживает это. Возможно в следующей версии, я думаю.
Поэтому вы можете использовать net use
или объект WScript.Network
, вызывая функцию MapNetworkDrive
:
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")
Очевидно, что в более новых версиях PowerShell командлет New-PSDrive
работает для сопоставления сетевых ресурсов с учетными данными!
New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist