我正在使用 Apple 远程桌面尝试将我们的 Mac 绑定到 AD。每次我都会收到错误dsconfigad: Invalid credentials supplied for binding to the server
。
dsconfigad -add domain.com -computer TESTMAC -username tech -password "Mypass$$-" -localhome enable -useuncpath disable -groups "Domain Admins, Enterprise Admins" -alldomains enable -mobile enable -mobileconfirm disable
我知道字符串中的所有内容都是正确的,并且凭据也是正确的,因为如果我通过 SSH 进入机器并在没有密码的情况下在那里运行它,它会提示我输入密码,然后它会正确绑定。
我唯一的想法是该部分在语法上存在错误-password "Mypass$$-"
,但我man()
明确地关注了该页面。
答案1
解决了,
我使用的密码中的一个特殊字符似乎与命令不太兼容(可能是转义字符或其他字符)无论如何,我更改了密码,现在一切都很好!
答案2
shell 会对双引号中的内容进行一些解释,例如,如果您的密码实际上包含$$
,它将被替换为 shell 的进程 ID。实际上,如果它包含$
,它将执行一些某种替换(细节取决于 后面的内容$
)。此外,反引号、反斜杠、感叹号以及我可能忘记的其他一些符号都会触发双引号内的各种替换。
解决方案:改用单引号。shell 在单引号字符串中所做的唯一一件事就是查找结束的引号,因此只要您的密码中没有单引号(又称撇号),它就-password 'Mypass$$-'
应该有效。