String Active Directory路径中的转义*通配符
如何使用PowerShell将通配符转义为文字字符 场景:我试图在我们的广告中使用PowerShell创建一个计算机对象。我使用以下命令,它工作得非常好String Active Directory路径中的转义*通配符,string,powershell,active-directory,escaping,wildcard,String,Powershell,Active Directory,Escaping,Wildcard,如何使用PowerShell将通配符转义为文字字符 场景:我试图在我们的广告中使用PowerShell创建一个计算机对象。我使用以下命令,它工作得非常好 New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=Server,DC=domain,DC=com" 但是,我有另一个域,其中我们的主服务器OU在“服务器”前面有*,如下所示:*服务器。如果我使用上面的命令,它不起作用,在排除故障后,我缩小了范围,它失败了,因为“服务器”前面有
New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=Server,DC=domain,DC=com"
但是,我有另一个域,其中我们的主服务器OU在“服务器”前面有*
,如下所示:*服务器
。如果我使用上面的命令,它不起作用,在排除故障后,我缩小了范围,它失败了,因为“服务器”前面有*
错误是:
New-ADComputer: The operation failed because of a bad parameter.
At line:1 char:5
+ New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=*Server,$ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (CN=mspgtestha08...C=viacom,DC=com:String) [New-ADComputer], ADPasswordException
+ FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.NewADComputer
LDAP搜索筛选器中保留了两个字符(
*
,(
,)
,\
,/
,以及空字节)。LDAP查询中的任何字符都可以转义,但保留的字符必须转义
转义码在MSDN中的下进行了描述,但通常是反斜杠加十六进制字符码。对于*
字符代码是2a
,因此转义代码是\2a
这:
正常情况下,反斜杠用于在区分用户名时转义字符。然而。。网站称,
*
不需要逃跑。你绝对确定你得到了正确的路径吗?在你的OU名称的开头有一个字面的、实际的*
?为什么?别提那个问题。我知道这在技术上是可行的,任何技术上可行的事情最终都会被完成——这样做不是一个特别好的主意。如果你的名字真的以星号开头,你也可以尝试\2A
。我建议您打开ADUC,右键单击所需的OU并转到属性。然后在属性选项卡中,向下滚动到distinghuishedName
属性。双击并复制。
New-ADComputer: The operation failed because of a bad parameter.
At line:1 char:5
+ New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=*Server,$ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (CN=mspgtestha08...C=viacom,DC=com:String) [New-ADComputer], ADPasswordException
+ FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.NewADComputer
New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=`*Server,DC=domain,DC=com"
New-ADComputer -Name "ServerName1" -Path "OU=App,OU=DEV,OU=\2aServer,DC=domain,DC=com"