【发布时间】:2022-12-16 11:29:45
【问题描述】:
我正在使用 ADMT 命令行测试组迁移,但是当 OU 名称包含双引号时,迁移在特定情况下失败。
ADMT GROUP /n "TestGroup" /sd:Child.A.COM /sdc.CHILD.A.COM /td.COM /tdc.A.COM /to:"ParentOU/TEST!@#$%^&*()_+{}|:"<>?[]\;',./" /intraforest:yes
在 cmd 中,这抛出“> 此时是意外的”,在 powershell 中,它一直在等待更多参数。主要目的是将其转换为迁移用户/组的 c# 脚本,但在使用 cmd/powershell 的测试阶段失败。有没有办法至少在 C# 中实现这一点?
我尝试用“”、^”、“、`”转义双引号,但似乎没有任何效果。我还尝试将值分配给变量并在 powershell 中使用该变量。使用“”(如 this @ 中所建议的那样) 987654321@) 是命令运行的唯一一次,但它仍然抛出以下错误。
错误:无法迁移组。无法绑定到容器 'ParentOU/TEST!@#$%^&()+{}|:<>?[];',./ /intraforest:yes'。不能 获得专有名称 'A.COM/ParentOU/TEST!@#$%^&;()+{}|:<>?[];',./ /intraforest:yes'。 : 参数不正确。 (0x80070057)
如果我创建另一个具有相同名称但双引号除外的 OU,则同样有效。
请帮助解决这个问题。
【问题讨论】:
-
重要问题:ADMT 本身是批处理文件吗?
-
它在技术上是一个 .exe 文件 (microsoft.com/en-us/download/details.aspx?id=56570)
标签: powershell cmd active-directory