我正在尝试将远程服务器身份验证添加到 PS1 批处理文件脚本。
所以我可以这样做:
Copy-Item $src $destination -Credential $Creds
我创建了一个密码文件,目前该文件与脚本位于同一目录中。它只包含密码字符串。
导致提示的行:
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File password.txt
当我删除 Read-Host 命令时,提示消失并且脚本按预期执行。
问题 进行远程服务器身份验证的正确方法是什么?
这是脚本上下文中的新代码:
[...]
if(-not(Test-Path $destination)){mkdir $destination | out-null}
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File password.txt
$PW = Get-Content password.txt | ConvertTo-Securestring
$Creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist "SERVER02\Administrator",$PW
ForEach ($sourcefile In $(Get-ChildItem $source | Where-Object { $_.Name -match "Daily_Reviews\[\d{1,12}-\d{1,12}\].journal" }))
{
[...]
Copy-Item $src $destination -Credential $Creds
[...]
}