2

1つのデータベースから情報を自動的に取得してActiveDirectoryを更新する、たとえば新しいユーザーを追加するPowershellスクリプトを作成しています。

Active Directoryを初めて使用し、この便利なグラフィックマップを使用してUIラベルをAD属性にリンクしています

UserPrincipalName(例:tina.Tana@example.com)は、ユーザーアカウントの一意の識別子であると思います。

しかし、テスト中はそうではないことがわかりました。私が行った場合:

$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina A Tana' `
            -UserPrincipalName 'tina.tana@example.com' `
            -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com'
$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina B Tana' `
            -UserPrincipalName 'tina.tana@example.com' `
            -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com'

2つのアカウントは両方とも正常に作成されますが、唯一の違いは-Nameフィールドです。

私が行った場合:

$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina Tana' `
            -UserPrincipalName 'tina.tana-1@example.com' `
            -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com'
$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina Tana' `
            -UserPrincipalName 'tina.tana-2@example.com' `
            -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com'  

違いは。だけ-UserPrincipalNameです。2番目の追加ユーザーは失敗します。PSはユーザーがすでに作成されていると言います。他の組み合わせを試しましたが、-Nameは一意である必要があり、他のフィールドは関係ありません。

私は何かを逃したことがありますか?人々は同じ名前を持つことができるように思えますが、アカウントを作成するとき、ユーザープリンシパル名は一意である必要があります。( ADユーザーとコンピューターのGUIツールを使用して新しいユーザーADアカウントを手動で作成する場合、同じログオン名(つまり、userPrincipalName)を別のユーザーに指定すると、ツールは別のログオン名を指定する必要があることを通知します。

では、Quest Add-QADUserを使用してPowershellと実行する場合、なぜそれが異なるのでしょうか。Powershellから実行すると、コマンドが正常に実行されるのはなぜですか?

困惑!あなたの入力のための多くのthx!

4

1 に答える 1

1

このMicrosoftKBとこのmsdnライブラリを読む

Active Directory自体は、UPNの一意性を強制しません。UPNを作成または変更するプロセスは、一意性をチェックする責任があります(これは、グローバルカタログをクエリすることによって行われます)。おそらくNew-Qaduserこのチェックは行いません。

通常、ユーザーの一意のIDはsamAccountNameです。ADビルドをデフォルトに設定しない場合UserPrincipalName:ユーザープリンシパル名には、UPNプレフィックス(ユーザーアカウント名)とUPNサフィックス(DNSドメイン名)の2つの部分があります。パーツはアットマーク(@)記号で結合され、完全なUPNを作成します。たとえば、Exampleドメインにアカウントを持つユーザーSomeoneのUPNは「someone@example.com」になります。

于 2013-01-17T11:14:34.187 に答える