Мне нужно подключиться к удаленному серверу и сделать несколько копий и перемещений файлов и т. Д. Удаленный сервер требует аутентификации.
Что мне нужно ввести для PSCredential -ArgumentList, аргумент №1? Это путь к конкретному удаленному пользователю (скажем, «Администратор»), например
\\SERVER2\Users\Administrator
Или это просто имя пользователя вроде
Administrator
Или это путь к самому удаленному ресурсу, например
\\SERVER2\Data\Content
...
$Creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist "\\Some\Path",$PW
Copy-Item $src $destination -Credential $Creds
Нет, объекты PSCredential работают не так. Я думаю, вы слишком много думаете об этом.
Объект System.Management.Automation.PSCredential имеет два свойства: SecureString Password
и String UserName
.
$Creds = Get-Credential
или
$Creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist "DOMAIN\joebob", $PW
где $ PW - объект SecureString. Один из способов создать SecureString:
PS C:\> $Secure = ConvertTo-SecureString "Pass.1234!" -AsPlainText -Force
Документация PSCredential: http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.pscredential_members(v=vs.85).aspx
Изменить: например, командлет Copy-Item поддерживает аргумент -Credential. Так Copy-Item C:\list.txt \\Server02\list.txt -Credential $Creds