尝试访问 FTP 站点时,我可以在凭据中使用纯文本密码并且它工作正常,但是当我使用 SecureString 时它无法进行身份验证。示例:
$pw = "mypw"
$ftp = [system.net.ftpwebrequest] [system.net.webrequest]::create("ftp:myserver")
$ftp.Credentials = new-object system.net.networkcredential("myuid", $pw)
工作正常。但以下失败
$pw = "mypw"
$ftp = [system.net.ftpwebrequest] [system.net.webrequest]::create("ftp:myserver")
$ss = convertto-securestring -asplaintext -force $pw
$ftp.Credentials = new-object system.net.networkcredential("myuid", $ss)
但这无法验证。我误会了什么?
(顺便说一句,我知道我不想在我的脚本中使用明文密码。这只是一个例子。)
最佳答案
这是因为 FTP 无法处理除纯文本用户名和密码以外的任何内容,除非您使用的是安全 FTP。这里有什么混淆吗?
关于security - powershell 和 secureString 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304521/