首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PowerShell脚本中转义密码中的"<“字符

问如何在PowerShell脚本中转义密码中的"<“字符
EN

Stack Overflow用户
提问于 2013-04-24 22:31:18
回答 2查看 4.7K关注 0票数 0

这是我的剧本:

代码语言:javascript
复制
@rasdial "My VPN" "user@domain" 'my<password'

我的密码包含<字符。这一点,在没有@的情况下,当输入到PowerShell控制台时可以工作。

我知道`是引用字符,但显然它不适用于<。我的密码包含许多特殊字符,所以必须引用它。但是当使用双引号时,它就不起作用了。如何正确地转译密码?有办法从外部文件导入它吗?顺便说一句,rasphone.exe记得我的密码,也许有办法使用它吗?

这是我发现有效的解决办法。我用双引号代替单引号。它在第一次没有工作,因为我的真实密码中也有%,需要用%%引用。

因此,在.cmd脚本中:'my%`<password'不能工作,但是"my%%<password"会工作。

有人能确认他在'...`<...'脚本中使用了类似于.cmd的字符串吗?在不同的PowerShell版本中,它的行为是否不同?我的是来自Windows 8 x64。

EN

回答 2

Stack Overflow用户

发布于 2019-04-10 11:00:40

我也有过类似的问题,我花了一段时间才弄清楚真相。在我的例子中,我有一个类似于此的密码

}k)/]j.{?*&%($@7}e$%0>;._#)

把它放在双引号允许变量扩展,所以很明显,是行不通的。把它放在单引号上是应该的,但对我来说不管用。用反勾号来逃避问题人物也不适合我。

对我来说有用的是先用单引号,然后用双引号。

‘’“}K)/]j.\{?*&%($@7}e$%0>;._#”‘’

票数 6
EN

Stack Overflow用户

发布于 2013-04-25 00:55:18

你试过:

代码语言:javascript
复制
'my`<password'

<-引号是Powershell转义字符。

我也鼓励使用-AsSecureString

在PS控制台中进行测试:

代码语言:javascript
复制
PS C:\Users\Athomsfere> $pw = 'my<password'
PS C:\Users\Athomsfere> write-host $pw
my<password

所以这不是性格本身。

它仍然像这样工作:(作为一个脚本)

代码语言:javascript
复制
'@rasdial', "My VPN", "user@domain", 'my<password' |`
    ForEach
    {
        Write-Host $_
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16203364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档