带特殊字符的密码参数
Posted
技术标签:
【中文标题】带特殊字符的密码参数【英文标题】:Password parameter with special characters 【发布时间】:2017-11-10 17:02:25 【问题描述】:我在这里和整个网络上浏览了大量关于 Powershell 中特殊字符的帖子,但无论我到目前为止尝试了什么,我的命令都会继续处理特殊字符。我正在尝试使用以下命令生成密钥表:
ktpass -out bosso.keytab -princ serviceAccount@DOMAIN.COM -pass "XX&XX"XX&" -kvno 255 -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1
我尝试将密码分配给变量,使用反引号转义,双引号和转义,单引号。我不知道还能在这里尝试什么。
【问题讨论】:
您如何将 ktpass 称为它不是 PowerShell 命令?通过 PS 脚本? 它不是明确的 powershell 命令,但它可以在 PS 中运行,就像在 cmd 中一样。如果在 CMD 中更容易逃避密码问题,我会全神贯注。我确实在那里尝试过。 你在这一切中使用了变量吗?如果没有并且您有 PS3.0+,那么只需使用停止解析参数。ktpass --% -out....
。这当然是假设 cmd 没有任何问题。您是否使用外部单引号作为内部双引号? ^
将是您可以使用的 cmd 中的转义字符
如果你更清楚你需要什么转义(即你得到什么错误)以及你所说的“我试过使用反引号”是什么意思会有所帮助。因为你有一个带有双引号的双引号字符串,而简单的转义是一个反引号"XX`"XX"
- 所以要么你尝试了反引号但没有尝试,要么这不是问题所以我猜测没有看到错误还不够好。或将其与 "XX""XX"
加倍作为参考,&
不是 powershell 双引号字符串中的特殊字符。大多数情况下,只有反引号、其他引号和美元是。
我不知道 Powershell 中的停止解析选项,但确实做到了!非常感谢。
【参考方案1】:
感谢马特的有用评论!我不知道停止解析参数,但使用 ktpass --% ...
阻止了 Powershell 将引号解释为命令的一部分。
【讨论】:
你应该“自我接受”你的答案,因为 2 天过去了。为此,您将获得额外的 15 分。更重要的是,这也将标记绿色中回答的问题,以帮助其他可能在未来偶然发现这个问题的 Google 搜索者。以上是关于带特殊字符的密码参数的主要内容,如果未能解决你的问题,请参考以下文章