使用编码凭据映射PS 2.0中的网络驱动器



我需要映射驱动器,并且我有一个编码的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参数。

我不认为这是你想要的答案,但Dave Wyatt有几篇关于使用安全字符串和凭据的博客文章。

我还在ConvertFrom SecureString命令中添加了-AsPlainText开关,以防您想要返回纯文本。

我知道如何映射驱动器的唯一两种方法是使用纯文本凭据。唯一的其他方法是将脚本作为具有网络位置权限的帐户运行;这样,您就不必使用密码进行身份验证。

最新更新