web-dev-qa-db-ja.com

Active Directoryユーザー名:なぜ正規名が異なるのですか?それらを均一にするために何かできますか?

私は、30台以下のPCでのWindowsログインに使用する仕事用Active Directoryネットワークの独学管理者です。私はこのシステムを、Microsoftの直接トレーニングを受けていない他の誰かから受け継いだため、いくつかのことについて暗くなっています。

ネットワーク自体には、ドメインコントローラー、DNS、ファイル共有などとして機能する単一のWindows Server 2008 R2マシンがあります。ログインは正常に機能しますが、古いアカウントを無効にしているときにユーザーのリストを探し回っていましたが、よくわからないことに気付きました。

次に、いくつかのユーザーアカウントの例を示します。

  1. ログオン名:john
    名:ジョン
    姓:スミス
    表示名:John Smith
    オブジェクトの正規名:domain.com/Users/john

  2. ログオン名:bob
    名:ボブ
    姓:フランス語
    表示名:Bob French
    オブジェクトの正規名:domain.com/Users/Bob French

現在のドメインコントローラーは、Windows Server 2003の実行に使用されていた別のドメインコントローラーから交換されました。最初のサンプルアカウントは、Server 2003ボックスがDCのときに作成され、2番目は、新しいServer 2008 R2ボックスがDCのときに作成されました。 Canonical Nameが異なるのはなぜですか?

Active Directoryブラウザーのユーザーリストに、アカウントの半分が「firstname」、残りが「firstname lastname」であるという事実に、私はほとんどイライラしています。

ワーキングアカウントを壊すことなく、それらすべてを同じにするために何かできますか?

10
evilspoons

Active Directoryは、ユーザーアカウントオブジェクトのRDN(正規名の最後の部分)が表示名やログオン名などの他のプロパティにどのように関連するかについては、実際には関係ありません-個々の属性の値がスキーマ定義。

Active Directoryユーザーとコンピューター(および他の多くのダイアログ)の「新しいユーザー」フォームの動作は、Windows Server 2003とWindows Server 2008 R2の間で大幅に変更されました。これがおそらく、一貫性がない理由です

PowerShellを使用して非システムアカウントを移動し、ユーザーを確認して、ユーザーの表示名を任意の名前に変更できます。

# Create new OU named RegularUsers
New-ADOrganizationalUnit -Name RegularUsers -Path "dc=domain,dc=com"

# Retrieve all users that are not critical system objects
$users = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter {-not(isCriticalSystemObject -like '*')}

# Go through each and move to the new OU
foreach($user in $users){
    Move-ADObject $user -TargetPath "OU=RegularUsers,DC=domain,DC=com"
}

# Retrieve all users in the new OU
$movedUsers = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter '*'

foreach($user in $movedUsers){
    # Test if Display Name and object Name is the same, if not - rename
    if($user.DisplayName -ne $user.Name)
    { 
        Rename-ADObject $user -NewName "$($user.DisplayName)" 
    }
}

最初のステップとして、ADUCですべてのユーザーアカウントを強調表示し、それらを別の場所にドラッグアンドドロップすることもできます。

8

オブジェクトのCN/DNは、ADとLDAPクエリで内部的にのみ使用されるため、それほど重要ではありません。エンドユーザー(および管理者)がそれを見ることさえほとんどありません。オブジェクトの完全なLDAPパスが含まれているため、オブジェクトを移動すると、実際には自動的に変更されます。

それを標準化したい場合は、副作用なしにこれを行うことができます。ユーザーが実際に気にしているのはログオン名だけであり、thatを変更しない限り、通常どおりログオンし続けます。 。

これを変更するには、ADUCコンソールまたはPowerShellコマンド Rename-ADObject を使用できます。

2
Massimo

dsmove コマンドは、正規名を変更できるはずです。私はこれをテスト環境で実行しましたが、ライブ環境では行っていないため、注意して続行することをお勧めします。

また、準関連では、あなただけのDCがダウンした場合の頭痛を避けるために、別のドメインコントローラーを実装することをお勧めします。

1
DKNUCKLES