当密码在外部文件中保护时,我正在尝试使用带有安全凭据的 WinSCP .NET 程序集。
# Load WinSCP .NET assembly
Add-Type -Path "D:\WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::Sftp
# Env
$sessionOptions.HostName = "blabla.com"
$sessionOptions.UserName = "UUUU"
#$sessionOptions.Password = "PPPP"
$sessionOptions.SshHostKeyFingerprint = "XXXXXXXXX"
$remotePath = "/home/UUUU/"
使用硬编码密码其工作。如果我想使用安全字符串作为密码,我应该怎么做?
我试过了:
read-host -assecurestring | convertfrom-securestring | out-file D:\securestring.txt
将安全密码保存在文件中。然后,在我的脚本中,我将其取回:
$sessionOptions.Password = get-Content D:\securestring.txt | convertto-securestring
$Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $sessionOptions.UserName, $sessionOptions.Password}
但它不工作...