【发布时间】: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 中的停止解析选项,但确实做到了!非常感谢。
标签: windows powershell ktpass