这是我的剧本:
@rasdial "My VPN" "user@domain" 'my<password'我的密码包含<字符。这一点,在没有@的情况下,当输入到PowerShell控制台时可以工作。
我知道`是引用字符,但显然它不适用于<。我的密码包含许多特殊字符,所以必须引用它。但是当使用双引号时,它就不起作用了。如何正确地转译密码?有办法从外部文件导入它吗?顺便说一句,rasphone.exe记得我的密码,也许有办法使用它吗?
这是我发现有效的解决办法。我用双引号代替单引号。它在第一次没有工作,因为我的真实密码中也有%,需要用%%引用。
因此,在.cmd脚本中:'my%`<password'不能工作,但是"my%%<password"会工作。
有人能确认他在'...`<...'脚本中使用了类似于.cmd的字符串吗?在不同的PowerShell版本中,它的行为是否不同?我的是来自Windows 8 x64。
发布于 2019-04-10 11:00:40
我也有过类似的问题,我花了一段时间才弄清楚真相。在我的例子中,我有一个类似于此的密码
}k)/]j.{?*&%($@7}e$%0>;._#)
把它放在双引号允许变量扩展,所以很明显,是行不通的。把它放在单引号上是应该的,但对我来说不管用。用反勾号来逃避问题人物也不适合我。
对我来说有用的是先用单引号,然后用双引号。
‘’“}K)/]j.\{?*&%($@7}e$%0>;._#”‘’
发布于 2013-04-25 00:55:18
你试过:
'my`<password'<-引号是Powershell转义字符。
我也鼓励使用-AsSecureString
在PS控制台中进行测试:
PS C:\Users\Athomsfere> $pw = 'my<password'
PS C:\Users\Athomsfere> write-host $pw
my<password所以这不是性格本身。
它仍然像这样工作:(作为一个脚本)
'@rasdial', "My VPN", "user@domain", 'my<password' |`
ForEach
{
Write-Host $_
}https://stackoverflow.com/questions/16203364
复制相似问题