5

Active Directory からのユーザーの .NET アプリケーション ログインを変更したいと考えています。

私は今、このように変更しています:

DirectoryEntry userToUpdate = updatedUser.GetDirectoryEntry();  
userToUpdate.Properties["sAMAccountName"].Value = user.NewLogin;  
userToUpdate.CommitChanges();  

しかし、期待どおりには機能しません。 このユーザーの AD の [Active Directoryユーザーとコンピューター] エントリをチェックインすると、[アカウント] タブに次のように表示されます

" プロパティは正しく更新されます。

C#コードからADのログイン名を正しく更新するには? DirectoryEntry でどのプロパティを設定する必要がありますか、またはログイン名を変更する別の方法があります。

4

3 に答える 3

7

AD には 2 つのログオン名があります。

sAMAccountName    = User logon name, (pre-windows 2000) 
    Format/Usage: domain\user.name (note, your code will only populate user.name)

userPrincipalName = User logon name
    Format/Usage: user.name@domain.local

両方を更新する必要があります。

于 2012-09-17T21:00:24.283 に答える
1

userPrincipalNameの代わりに試してくださいsAMAccountName

于 2012-09-17T20:56:23.843 に答える
0

これが参照できる本当に良いリンクです。ページの下部をチェックアウトして、完全に使用されていることを確認してください。

C#.Net3.5を介したActiveDirectoryのすべて(System.DirectoryServices.AccountManagementを使用)

于 2012-09-17T21:03:54.907 に答える