String Active Directory路径中的转义*通配符

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在“服务器”前面有*,如下所示:*服务器。如果我使用上面的命令,它不起作用,在排除故障后,我缩小了范围,它失败了,因为“服务器”前面有

如何使用PowerShell将通配符转义为文字字符

场景:我试图在我们的广告中使用PowerShell创建一个计算机对象。我使用以下命令,它工作得非常好

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"