1

Active Directory 内のユーザー オブジェクトの RDN を、属性をそのままにして取得することは可能ですか。

これについて多くのことを読んだところ、AD ユーザー オブジェクトが RDN を「name」というプロパティに格納していることがわかりました。おそらく、name (rdn) プロパティの値は name = "cn=Smith, Joe" のようなものになるはずです。cn 属性は、返されるものの一部です。ただし、オブジェクトの名前プロパティを取得するたびに、「cn =」が常に欠落しているようです。例えば

$foo = get-aduser -filter 'Name -like "Smith, Joe"'

$foo.name

戻り"Smith, Joe"ません"cn=Smith, Joe"。完全なRDNを照会して取得する方法はありますか?

4

3 に答える 3

2

別の方法は、オブジェクトの完全な DN を取得し、DN を分割して、結果の配列の最初の要素を表示することです。これは、CN= またはオブジェクトに依存する RDN になります。

$((foo.distinguishedname).split(","))[0]
于 2014-11-11T17:43:34.803 に答える
1

本当に答えではありませんが、情報:

まず、RDN 属性の attributeId がスキーマによって固定されます 。RDN の観点では、Active-Directory は X500 標準から継承されます。つまり、RDN を作成する属性を選択しないということです (他の LDAP ディレクトリでは可能です)。Active-Directory では、RDN 属性はrDNAttIDによってクラス スキーマで指定され、RDN 属性の attributeId を指定します。クラスのスキーマを見ると、userそれはCN.

したがって、次を使用できます。

"CN=$((get-aduser 'Smith, Joe').Name)"

次に、次の実験を行います: OU で「Mananegement」というユーザーを作成します。次の DN を持っていますCN=MAnagement,OU=MyOU,...。同じ OU で、「Mananegement」という名前の OU を作成しようとします。次の DN を持つオブジェクトを作成する必要OU=MAnagement,OU=MyOU,...がありますが、受信しますエラー。このエラーは、Active-Directory が、他のディレクトリのように「CN=Mananegement」ではなく、「Mananegement」を RDN と見なしていることを信じさせます。

于 2012-07-26T03:32:51.530 に答える