我需要映射驱动器,并且我有一个编码的PW,我需要连接到DMZ驱动器。
我正在使用以下代码映射驱动器:
[Byte[]]$key = (1..16)
$pw = Get-Content .\LocalAdminCred.txt | ConvertTo-SecureString -key $key
# some other stuff
[string]$pwencoded = ConvertFrom-SecureString $pw -Key $key
$Map = New-Object -comobject Wscript.Network
$Map.MapNetworkDrive($_.letter,$_.path,$false,$_.username,$pwencoded)
你的眼睛首先捕获的是$pwencoded
变量 - 我必须使用字符串作为PW,这就是我需要将Secure.String
解码为普通字符串的原因,否则我会有一个类型不匹配。现在问题是.MapNetworkDrive
需要密码以纯文本形式,如'password',而我的是密码而不是纯文本。
问题:是否可以使用加密密码或更好的安全字符串来映射我的网络驱动器?我真的不想使用纯文本。
首先,我想用New-PSDrive
进行映射,但由于脚本必须适用于PS 2.0,我无法使用它,因为那里不存在-persist
参数。
答案 0 :(得分:1)
我认为这不是您正在寻找的答案,但Dave Wyatt有few blog posts关于使用secure strings和credentials的答案。
...我还在ConvertFrom-SecureString命令中添加了一个-AsPlainText开关,以防你想要恢复纯文本。
我知道如何映射驱动器的唯一两种方法是使用纯文本凭据。唯一的另一种方法是将脚本作为具有网络位置权限的帐户运行;这样您就不必使用密码进行身份验证。