Get ADComputer:使用PowerShell在Active Directory中查找计算机详细信息

时间:2020-01-09 10:46:26  来源:igfitidea点击:

我们可以使用PowerShell cmdlet Get-ADComputer从Active Directory域获取有关计算机帐户对象(服务器和工作站)的各种信息。这是按各种条件搜索AD计算机的最有用的cmdlet之一(若要获取有关AD用户帐户的信息,请使用另一个cmdlet-get-ADUser)。

假设任务是查找Active Directory中所有未在域中注册超过120天的非活动计算机并禁用这些帐户。

在使用Get-ADComputer cmdlet之前,必须使用以下命令导入Active Directory Module for Windows PowerShell:

Import-Module activedirectory

提示。在PowerShell 3.0(Windows Server 2012中引入)或者更高版本中,如果安装了以下组件,则默认导入此模块:远程服务器管理工具->角色管理工具->AD DS和AD LDS工具->适用于Windows PowerShell的Active Directory模块。要在桌面操作系统(Windows 10、8.1或者Windows 7)中使用Get-ADComputer cmdlet,必须为操作系统版本下载并安装RSAT,并从控制面板或者使用以下命令启用AD Powershell模块:

Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

Get-ADComputer –Cmdlet语法

我们可以像往常一样使用get help命令获取有关get-ADComputer cmdlet参数的帮助:

Get-Help Get-ADComputer

若要使用AD for PowerShell模块中的cmdlet从AD获取信息,我们不需要具有域管理员权限。运行cmdlet所使用的帐户是Domain Users/Authenticated Users组的成员就足够了。

要获取域中特定计算机帐户的信息,请将其名称指定为 -Identity参数的参数:

Get-ADComputer -Identity SRV-DB01
DistinguishedName : CN=SRV-DB01,OU=Servers,OU=London,OU=UK,DC=theitroad,DC=com
DNSHostName       : SRV-DB01.theitroad.local
Enabled           : True
Name              : SRV-DB01
ObjectClass       : computer
ObjectGUID        : 87654321-1234-5678-0000-123412341234
SamAccountName    : SRV-DB01$
SID               : S-1-5-21-123456780-1234567890-0987654321-1234
UserPrincipalName :

cmdlet Get-ADComputer仅从AD返回计算机对象的基本属性。我们对AD域中最后一次注册计算机的时间感兴趣,但上面的命令输出中不显示此信息。我们可以从Active Directory列出此计算机对象的所有可用属性:

Get-ADComputer -Identity SRV-DB01 -Properties *

使用“获取成员”,可以获取AD中计算机类的所有属性的列表:

Get-ADComputer -Filter * -Properties * | Get-Member

如我们所见,这台计算机最后一次登录网络的日期是在计算机的属性 LastLogonDate–09/21/2014 0:20:17中指定的。

Get-ADComputer cmdlet允许我们在命令结果中显示计算机的任何属性。删除所有不必要的信息,只留下 NameLastLogonDate属性的值。

Get-ADComputer -identity SRV-DB01 -Properties * | FT Name, LastLogonDate -Autosize

因此,我们收到了最后一次在域中注册单台计算机的数据。然后,我们必须修改该命令,使其显示域中所有计算机最后一次网络注册的时间信息。要执行此操作,请将 –Identity替换为 –Filter* :

Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize

我们得到了一个简单的表,它只包含两个字段:计算机名和LastLogonData日期。我们可以将计算机对象的其他字段从AD添加到此表中。