一、创建计算机账号
在使用AD账号登陆之前,电脑必须加入域。计算机账号和用户账号类似,也有登录名(sAMAccountName)和密码(这个密码由服务器自动维护)及安全标示符(SID)。有了这些凭据,计算机可以在AD中进行身份验证,并创建安全关系,AD用户才能登陆到这些计算机。如果计算机和AD之间的凭据出现问题,用户在登录时则会提示“此工作站与主域之间的信任关系失败”。

1.创建计算机OU
安装好AD后会有2个默认有2个地方可以计算机账号:一个为Computer,计算机及成员服务器加入域后都会默认在该容器,但是不建议使用这个默认容易,因为这个系统默认容器无法链接组策略。另一个为Domain Controller,这个OU是放所有域控制器(DC),这个建议保持默认不变。一般建议大家至少为计算机账号创建至少两个OU:一个放客户端计算机账号,一个放服务器账号。方便今后组策略的链接,因为客户端和服务器可能需要链接不同的GPO。
如果是使用基于站点的管理方式,并且台式机和笔记本分开管理,建议按站点的物理位置进行划分,具体如图:

注:当计算机加入域时,如果AD中不存在该计算机账号时,会默认在Computer容器中自动创建计算机对象,如果需要改变这个目录,则可以使用 redircmp这个命令进行重定向。使用语法: redircmp “ou=xxx,dc=contoso,dc=com”

2.创建计算机账号
在“Active Directory用户和计算机”中创建计算机账号,输入计算机名称即可。
使用dsadd创建计算机,语法示例: dsadd computer “cn=desktop002,ou=xxx,dc=contoso,dc=com”
使用csvde批量创建计算机账号。
将需要创建的计算机账号信息按如下格式保存成csv格式文件


使用csvde –i –f “d:\computerinfo.csv”-k   命令批量创建计算机账号,如果所示成功创建。

使用powershell导入计算机账号语法     
    New-ADComputer [-Name] <string> [-WhatIf] [-Confirm] [-AccountExpirationDate <datetime>] [-AccountNotDelegated <bool>] [-AccountPassword <securestring>] [-AllowReversiblePasswordEncryption <bool>] [-AuthType <ADAuthType> {Negotiate | Basic}] [-CannotChangePassword <bool>] [-Certificates <X509Certificate[]>] [-ChangePasswordAtLogon <bool>] [-CompoundIdentitySupported <bool>] [-Credential <pscredential>] [-Description <string>] [-DisplayName <string>] [-DNSHostName <string>] [-Enabled <bool>] [-HomePage <string>] [-Instance <ADComputer>] [-KerberosEncryptionType <ADKerberosEncryptionType> {None | DES | RC4 | AES128 | AES256}] [-Location <string>] [-ManagedBy <ADPrincipal>] [-OperatingSystem <string>] [-OperatingSystemHotfix <string>] [-OperatingSystemServicePack <string>] [-OperatingSystemVersion <string>] [-OtherAttributes <hashtable>] [-PassThru] [-PasswordNeverExpires <bool>] [-PasswordNotRequired <bool>] [-Path <string>] [-PrincipalsAllowedToDelegateToAccount <ADPrincipal[]>] [-SAMAccountName <string>][-Server <string>] [-ServicePrincipalNames <string[]>] [-TrustedForDelegation <bool>] [-UserPrincipalName <string>]  [<CommonParameters>]

创建单个计算机账号示例:
New-ADComputer –Name pc001 –SAMAccountName pc001 –Path “ou=xxx,dc=contoso,dc=com”
批量创建计算机账号,  将需要创建的计算机账号信息按如下格式保存成csv格式文件:

使用命令导入csv文件中的信息
Import-Csv "d:\computerinfo2.csv" | ForEach-Object {New-ADComputer -Name $_.name -SAMAccountName $_.samaccountname -Path $_.path}


二、导出AD中计算机账号的信息
如果我们需要查询AD中电脑安装的操作系统版本、最后一次登录时间等信息,也可以使用powershell的Get-ADComputer进行导出。
示例命令:
Get-ADComputer -Filter * -Property * –Searchbase “ou=workstation,ou=long,dc=lab,dc=com”  | Select-Object Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion,LastLogonDate | Export-CSV  -NoTypeInformation -Encoding UTF8 –Path “d:\cmpinfo.csv”

三、将计算机加入域
加入域前,首先确保客户端DNS设置正确,DNS指向环境中的DNS服务器。确保客户端能ping通域。


1.在计算机属性中更该成域模式即可,这是最常用的一种方法,相信大家基本都会,这里就不做说明了。
2.使用netdom命令将计算机加入域。
示例命令:
netdom join computername /domain:contoso.com /userd:contoso\administrator /passwordd:123@#abc /reboot:5
3.默认设置下,普通用户也是有权限将计算机加入域的,最多可以将10台计算机加入域。处于安全考虑,建议关闭这一设置。开始--运行—adsiedit.msc,打开ADSI编辑器。右击“ADSI编辑器”选择“连接到…”。在连接设置中选择“默认命名上下文”。




右击“DC=Lab,DC=Com”,选择“属性”,在属性对话框中找到“ms-DS-MachineAccountQuota”将值修改为0。
完成上述步骤后,只有域管理员或委派权限的用户才可以将计算机加入域。
四、计算机的登录和安全通道
与用户账号类似,计算机账号也有登录名(sAMAccountName)和密码。计算机会将自己的密码以本地安全机构(LSA)密文形式保存,并每30天联系AD修改密码。这个过程不需要人为参与。Netlogon服务将使用该凭据登录到AD,并与DC建立安全通道。
如果安全通道失败,则必须将其重置。可以直接右击计算机账号,选择“重置账户”。不建议大家通过将计算机删除,然后新建一个同名的方式来重置。因为这种方法会导致计算机账号及SID彻底删除,即时新建一个同名的计算机账号SID也是不一样的,如果该计算机有资源权限分配也会丢失。
总结:很多管理在AD账号管理过程中可能会忽略计算机账号的管理,更多的时间花在用户账号及组的维护上。其实不然,计算机账号的管理和用户账号同等重要,客户端开机首先是使用计算机账号凭据进行验证的,如果计算机凭据出现问题,用户也是无法登陆。