Подтвердить что ты не робот

Подключение к сетевой папке с именем пользователя/паролем в Powershell

Я часто получаю доступ к общим сетевым папкам в Powershell для захвата файлов и т.д. Но если для общего ресурса требуется имя пользователя/пароль, Powershell не запрашивает меня для них, в отличие от Windows Explorer. Если я сначала подключусь к папке в Проводнике Windows, Powershell позволит мне подключиться.

Как я могу аутентифицироваться в Powershell?

4b9b3361

Ответ 1

На первый взгляд очень хочется использовать 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")

Редактировать для New-PSDrive в PowerShell 3.0

Очевидно, что в новых версиях PowerShell командлет New-PSDrive работает для сопоставления сетевых ресурсов с учетными данными!

New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist

Ответ 2

Это не ответ, зависящий от PowerShell, но вы можете сначала аутентифицироваться против общего ресурса, используя "NET USE":

net use \\server\share /user:<domain\username> <password>

И затем сделайте все, что вам нужно сделать в PowerShell...

Ответ 4

На той же машине я пытаюсь выполнить ту же команду NET USE из обычной командной строки и из командной строки PowerShell v2:

NET USE Ссылка: SharePoint

In CMD он работает нормально.

In PS, он говорит, что он работает нормально, и привод сопоставляется. Однако в основном статус диска, указанный при вводе только NET USE, пуст, и сопоставление дисков не работает (т.е. Вы не можете получить данные с подключенного диска).

Это может быть проблема SharePoint, так как NET USE из powershell иногда работает, иногда нет, но все же кажется, что существует разница между CMD и PS.

Ответ 5

Я хотел бы поделиться своим опытом здесь.

Я часто использую сетевой диск для извлечения информации с удаленного сервера. Если вы используете Powershell 2.0 на удаленном сервере.

Наилучшим вариантом является использование команды NET USE.

Net use \\10.10.10.10\SharedDrive "[email protected]" /User:Abcd.com\username