2

私は、次のコードを使用して、識別名を sAMAccountName に変換しています。

Dim de As New DirectoryEntry("LDAP://" & stringDN)
Return CType(de.Properties("samaccountname")(0), String)

1 つを除いて、渡すすべての DN でうまく機能します。ドメインに「/」を含む AD グループがあり、「プログラマー/DBA」と呼びます。このグループの DN は、"Programmers/DBAs,OU=User Groups,DC=mydomain,DC=local" です。この DN を上記の stringDN として使用しようとすると、「不明なエラー (0x80005000)」の COMException が発生します。

ドメイン内の他のすべてのグループ/ユーザーは正常に動作し、テスト ドメインで問題を再現しました。「/」が含まれないようにグループの名前を変更すると、問題が解決します。ただし、本番環境ではこれを行うことができないため、行き詰まっています。

この「/」をなんとかエスケープできますか?このグループのプロパティを適切に取得できるように、これには解決策があると信じなければなりません。

4

1 に答える 1

4

あなたはやってみましたか:

Dim de As New DirectoryEntry("LDAP://" & stringDN.Replace( "/", "\/" ))
Return CType(de.Properties("samaccountname")(0), String)
于 2009-02-09T22:30:41.717 に答える