【问题标题】: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 中的停止解析选项,但确实做到了!非常感谢。

标签: windows powershell ktpass


【解决方案1】:

感谢马特的有用评论!我不知道停止解析参数,但使用 ktpass --% ... 阻止了 Powershell 将引号解释为命令的一部分。

【讨论】:

  • 你应该“自我接受”你的答案,因为 2 天过去了。为此,您将获得额外的 15 分。更重要的是,这也将标记绿色中回答的问题,以帮助其他可能在未来偶然发现这个问题的 Google 搜索者。
猜你喜欢
  • 1970-01-01
  • 2020-10-05
  • 2021-10-12
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多