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"
注:答案改编自:
我想通过 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"
注:答案改编自: