Windows 带有特殊字符的密码参数

Windows 带有特殊字符的密码参数,windows,powershell,ktpass,Windows,Powershell,Ktpass,我已经在这里和网上浏览了大量关于Powershell中特殊角色的帖子,但无论我做了什么尝试,我的命令仍然会被特殊角色所吸引。我正在尝试使用以下命令生成键表: ktpass -out bosso.keytab -princ serviceAccount@DOMAIN.COM -pass "XX&XX"XX&" -kvno 255 -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1 我尝试过将密码分配给一个变量,使用反勾号进行转义,双引号加转义

我已经在这里和网上浏览了大量关于Powershell中特殊角色的帖子,但无论我做了什么尝试,我的命令仍然会被特殊角色所吸引。我正在尝试使用以下命令生成键表:

ktpass -out bosso.keytab -princ serviceAccount@DOMAIN.COM -pass "XX&XX"XX&" -kvno 255 -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1

我尝试过将密码分配给一个变量,使用反勾号进行转义,双引号加转义,单引号。我不知道还能在这里尝试些什么。

谢谢马特的宝贵意见!我不知道stop parsing参数,但使用
ktpass--%…
阻止Powershell将引号解释为命令的一部分

您如何调用ktpass,因为它不是PowerShell命令?通过PS脚本?它不是明确的powershell命令,但它可以在PS中运行,就像在cmd中一样。如果CMD中的密码问题更容易解决,我洗耳恭听。我是先尝试的,你在这里使用变量吗?如果没有,并且您有PS3.0+,那么只需使用停止解析参数<代码>ktpass--%-out…。这当然是假设cmd没有任何问题。你的内双引号是否使用了外单引号
^
将是cmd中的转义字符,您可以使用它。如果您更清楚您需要什么转义(即,您遇到了什么错误)以及您所说的“我已尝试使用backtick”是什么意思,这将有所帮助。因为您有一个双引号字符串,其中有一个双引号,简单的转义是backtick
“XX`“XX”
-所以您尝试了backtick但没有尝试,或者这不是问题所在,所以我在没有看到错误的情况下进行猜测是不够的。或者使用
“XX”XX将其加倍“
作为参考,
&
不是powershell双引号字符串中的特殊字符。大多数情况下,只有backtick、其他引号和美元是正确的。我不知道Powershell中的停止解析选项,但它做到了!非常感谢。两天过去了,你现在应该“自我接受”你的答案。你会得到额外的15分。更重要的是,这也将标志着绿色回答的问题,帮助其他谷歌搜索者,他们可能在未来偶然发现这个问题。