PowerShell - net use 不起作用 - 变量问题

PowerShell - net use doesn't work - issue with variables

我想通过 net use 远程映射网络资源。

这是我的 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命令中使用变量?

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

$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"

注:答案改编自: