私は次のPowerShellコードを持っています:
$strCategory = "computer"
$objDomain = New-Object System.DirectoryServices.DirectoryEntry("LDAP://OU=Computers,OU=2 Streetsville,DC=ourdomain,DC=local")
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher($objDomain)
$objSearcher.Filter = ("(objectCategory=$strCategory)")
$colProplist = "name"
foreach ($i in $colPropList){[void]$objSearcher.PropertiesToLoad.Add($i)}
$colResults = $objSearcher.FindAll()
LDAPパスにスペースが含まれていない場合、コードは正常に機能しました。
LDAP://OU=Computers,OU=DataCenter,DC=ourdomain,DC=local
ただし、DataCenterOUの名前を次のアドレスに変更した場合:
LDAP://OU=Computers,OU=2 Streetsville,DC=ourdomain,DC=local
突然、コードが機能しなくなりました。
私は問題がないと思いました:私はただスペースを脱出する必要があります\
:
LDAP://OU=Computers,OU=2\ Streetsville,DC=ourdomain,DC=local
しかし、それはうまくいきません。また、スペースをエスケープするためにダブルスラッシュを試しました。
LDAP://OU=Computers,OU=2\\ Streetsville,DC=ourdomain,DC=local
私は他に何をしようか迷っています。スペースのないOU名に戻ることはできますが、そうではありません。誰かが私がスペースを適切に脱出する方法を理解するのを手伝ってもらえますか?