2

我想通过网络使用远程映射网络资源。

这是我的 PowerShell 代码:

$user = Read-Host -Prompt "Enter Username"
$pw = Read-Host -Prompt "Enter Password" -AsSecureString
net use X: \\Server\dir1\dir2 /persistent:no /user:$user $pw

如果我写我的凭据而不是变量,它会起作用。

但我需要阅读凭据。

有没有办法在 net use 命令中使用变量?

4

1 回答 1

4

正如 PetSerAl 在评论中回答的那样,您可以删除 -AsSecureString,但更好的方法可能是提供以安全方式获取密码的安全性/美观性(在您键入时不会显示密码字符),并且仅在您解密时才解密它需要它作为您的变量。

$pw = Read-Host -Prompt "Enter Password" -AsSecureString

$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pw)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)

Write-Output "UnsecurePassword is: $UnsecurePassword"

注意:答案改编自:将安全字符串转换为纯文本

于 2016-03-24T13:18:50.500 回答