windows-server-2003 – Active Directory用户名:为什么规范名
我是一个自学成才的管理员,用于在大约30台PC上进行 Windows登录的Active Directory网络.我从其他人那里继承了这个系统,他也没有任何直接的微软培训,因此我对一些事情一无所知. 网络本身有一台Windows Server 2008 R2机器充当域控制器,DNS,文件共享等.登录工作正常,但我在禁用旧帐户的同时捅了一下用户列表,我发现了一些我不太了解的东西. 以下是一些示例用户帐户: >登录名称:约翰 当前域控制器与另一个用于运行Windows Server 2003的域控制器交换.第一个示例帐户是在Server 2003框为DC时创建的,第二个是在较新的Server 2008 R2框为DC时创建的.为什么Canonical Name不同,它有什么区别? 我主要是因为我在活动目录浏览器中的用户列表中有一半帐户是’firstname’而一半是’firstname lastname’. 如果不破坏工作账户,我可以做些什么来使它们全部相同吗? 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=com" } # Retrieve all users in the new OU $movedUsers = Get-ADUser -SearchBase "CN=Users,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中的所有用户帐户,并将它们拖放到另一个位置. (编辑:ASP站长网) |