Я хотел бы использовать сетевое подключение следующим образом.
У меня есть пароль пользователя в кодировке base64, мой пользователь и местоположение общей сетевой папки. Я хотел бы открыть сеанс ps, потому что сетевой ресурс доступен только через pssession через пользователя, если я запустил его из приложения удаленного выполнения (rundeck).
$Securepassword = "password"
$User = ".\user"
$Password = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($SecurePassword))
$Encpassword = $Password | ConvertTo-SecureString -asPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential($User,$Encpassword)
$pw = ConvertTo-SecureString $Password -AsPlainText -Force
$pp = new-object -typename System.Management.Automation.PSCredential -argumentlist $User,$pw
$session = New-PSSession -Credential $pp;
$Destination = "C:\Dest\"
New-Item -ItemType directory -Path $Destination -Force
$HK = "\\servername\d$\Share\Install\ISO\HP\SPP\latest\packages"
if($site -eq 'HKG1') {$Location = $HK}
elseif($site -eq 'AMS4') {$Location = $AM}
NET USE $Location /USER:$User $Password
Copy-Item -Path $Location -Destination $Destination -recurse -Force
net use * /delete /y
Remove-PSSession $session
Если я дам / USER: $ Пользователь $ Password выдал мне ошибку 87, если я ее не использую, она работает, НО только при локальном запуске на сервере. Если я бежал из rundeck, ему нужна аутентификация.
Итак, как мне создать правильный ps-сеанс или в чем проблема?
Спасибо