[玩转系统] 如何在 Powershell 中使用 Get-ADComputer Cmdlet
作者:精品下载站 日期:2024-12-14 20:34:37 浏览:12 分类:玩电脑
如何在 Powershell 中使用 Get-ADComputer Cmdlet
获取 ADComputer Cmdlet
Get-ADComputer cmdlet 从 Active Directory 检索一台或多台计算机。
Get-ADComputer Cmdlet:语法
语法1:
Get-ADComputer -Filter <string> [-AuthType <ADAuthType>] [-Credential <pscredential>] [-Properties <string[]>] [-ResultPageSize <int>] [-ResultSetSize <int>] [-
SearchBase <string>] [-SearchScope <ADSearchScope>] [-Server <string>] [<CommonParameters>]
语法2:
Get-ADComputer [-Identity] <ADComputer> [-AuthType <ADAuthType>] [-Credential <pscredential>] [-Partition <string>] [-Properties <string[]>] [-Server <string>]
[<CommonParameters>]
语法3:
Get-ADComputer -LDAPFilter <string> [-AuthType <ADAuthType>] [-Credential <pscredential>] [-Properties <string[]>] [-ResultPageSize <int>] [-ResultSetSize <int>
] [-SearchBase <string>] [-SearchScope <ADSearchScope>] [-Server <string>] [<CommonParameters>]
Get-ADComputer Cmdlet:关键参数
以下是 Get-ADComputer cmdlet 的关键参数:
- 身份
- 过滤器和 LDAPFilter
- 特性
- 搜索库
- 搜索范围
请注意,您必须使用 Identity 参数、Filter 或 LDAPFilter 参数。
身份
使用此参数指定要检索的特定 Active Directory 计算机。如果找到两个或多个匹配对象,该命令将返回非终止错误。
Identity 参数接受以下形式的值:
- GUID
- 专有名称 (DN)
- sam 帐户名
- 安全识别码
或者,您可以通过管道提供计算机对象,或使用计算机对象变量,例如 $Computerobject。
例如,如果您的计算机名为 GroupID10Corp,您将使用以下命令:
Get-ADComputer -Identity GroupID10Corp
如果使用专有名称作为标识符,则它用于计算要搜索的分区。如果使用可分辨名称以外的标识符,则 cmdlet 将使用默认上下文,该上下文主要是登录用户或执行搜索的用户的连接域。
过滤器和 LDAPFilter
要检索多个计算机对象,请使用 Filter 参数或 LDAPFilter 参数:
- 通过“筛选”选项,您可以使用 PowerShell 表达式语言为 Active Directory 编写查询字符串。 PowerShell 表达式语言语法中支持通过 Filter 参数获取的值类型进行丰富的类型转换。
- 如果您的 LDAP 查询字符串已存在,则可以使用 LDAPFilter 参数。
筛选
使用“筛选器”参数可根据您指定的条件查找多个计算机帐户。例如,要查找名称以字符串 GID 开头的所有计算机,请使用以下命令:
Get-ADComputer -Filter "Name -like 'GID*'"
要检索目录中的所有计算机帐户,请使用通配符 (*) 字符,如下所示:
Get-ADComputer -Filter *
LDAP过滤器
如果您熟悉 LDAP,则可以使用 LDAPFilter 参数将您要查找的精确计算机归零。例如,此命令将查找以字母 Q 开头的所有计算机:
Get-ADComputer -LDAPFilter "(name=Q*)"
特性
默认情况下,Get-ADComputer cmdlet 检索每台计算机的名称和可分辨名称。虽然计算机对象没有用户和组对象那么多有用的属性,但还有一些其他有用的属性,例如:
- 错误登录计数
- 错误密码计数
- IPv4地址
- 启用
- 最后注销
- 上次登录日期
- 登录次数
- 操作系统
- 操作系统版本
- 创建时间
使用 Properties 参数获取这些属性,如下所示:
Get-ADComputer -identity EXCHKNOX -Properties LastLogonDate,IPv4Address,OperatingSystemVersion,OperatingSystem,WhenCreated
搜索库
使用 SearchBase 参数将搜索限制为仅一个 OU。例如,如果您想查看所有 DC,您可以将搜索限制为域控制器 OU。
必须在 SearchBase 参数中指定 OU 的专有名称 (DN)。下面是如何查找 Knox.lab 域中 computers OU 中的每个计算机帐户的示例:
Get-ADComputer -Filter * -SearchBase "CN=computers,DC=knox,DC=lab"
搜索范围
使用 SearchBase 参数,PowerShell 仅返回指定 OU 中的计算机帐户,而不返回任何子 OU 中的计算机帐户。使用 SearchScope 参数来控制搜索的深度:
- 0 或 基本 - 仅返回基本 OU 中的计算机
- 1 或 OneLevel - 返回基础 OU 及其直接子 OU 中的计算机
- 2 或 子树 - 返回基本 OU 和所有子 OU 中的计算机
例如,以下 cmdlet 将仅搜索指定的基本 OU 中的计算机:
Get-ADComputer -Filter * -SearchBase " OU=Computers OU,DC=Knox,DC=lab" -SearchScope OneLevel
以下 cmdlet 将查找基本 OU 及其所有子 OU 中的计算机对象:
Get-ADComputer -Filter * -SearchBase " OU=Computers OU,DC=Knox,DC=lab" -SearchScope SubTree
Get-ADComputer Cmdlet:示例
让我们看一下使用 Get-ADComputer cmdlet 的一些示例:
- 根据操作系统获取计算机对象
- 获取所有不活动的计算机
- 获取 Active Directory 中所有已禁用或已启用的计算机
- 将结果导出为 CSV
- 将特定属性导出到 CSV
- 将启用和禁用的计算机导出到 CSV
根据操作系统获取计算机对象
系统管理员经常需要查找具有给定操作系统 (OS) 版本的所有计算机,以便升级操作系统或应用策略。
以下 cmdlet 检索所有 Active Directory 计算机的名称和操作系统:
Get-ADComputer -filter * -Properties * | Select Name, OperatingSystem
要列出具有特定操作系统的所有计算机,请使用以下命令:
Get-ADComputer -Filter {OperatingSystem -like '*Windows Server 2016*'}
上述脚本按 Windows Server 2016 操作系统过滤计算机对象。
要获取有关驻留在特定 OU 中的计算机对象的操作系统的信息,请使用以下命令。 Get-ADComputer 检索特定 OU 中的计算机帐户,包括其操作系统。它将输出传递给第二个命令,该命令将信息格式化为表并按计算机名称对其进行排序。
Get-ADComputer -filter * -SearchBase "CN=Computers,DC=Knox,DC=lab" -Properties OperatingSystem | Sort Name | Format-Table Name,Enabled,OperatingSystem -AutoSize
要导出 cmdlet 的结果,请使用 Export-CSV cmdlet 以及要保存输出的位置,如下所示:
Get-ADComputer -filter * -Properties * | Select Name, OperatingSystem | Export-CSV C:\Computers.csv
通过 Get-ADComputer 获取所有不活动的计算机
您需要知道有多少台计算机未被使用吗?下面的脚本将查找所有空闲时间超过 90 天的计算机。首先,我们通过获取当前日期并减去 90 天来创建一个日期变量。然后,我们根据上次登录日期过滤 Get-ADComputer cmdlet。最后一行是 cmdlet 的替代版本,可提供更具可读性的输出。
$DesiredDate = (Get-Date) – (New-TimeSpan -Days 90)
Get-ADComputer -Filter ‘lastlogondate -lt $DesiredDate’ | ft
# Choose the canonicalName,lastlogondate and name for computers as a list.
Get-ADcomputer -Filter 'lastLogondate -lt $Desireddate' -properties lastlogondate, canonicalName | select lastlogondate,name,canonicalname | ft –AutoSize
获取 Active Directory 中所有已禁用或已启用的计算机
要获取 Active Directory 中所有已禁用或已启用计算机的列表,请分别使用以下 cmdlet:
Get-ADComputer -Filter "Enabled -eq 'False'" | ft
Get-ADComputer -Filter "Enabled -eq 'True'" | ft
将结果导出为 CSV
PowerShell 结果可以轻松导出到 CSV 文件以供进一步分析或报告。
使用以下命令将每个 AD 计算机对象导出到 CSV 文件:
Get-ADComputer -filter * | Export-CSV c:\computersdetail.csv -NoTypeInformation
将特定属性导出到 CSV
当您将 Filter 参数与通配符一起使用(如上所示)时,只会检索几个属性。以下命令将检索一组特定的属性并将结果导出到 CSV 文件以供进一步分析:
Get-ADComputer -filter * -properties operatingsystem,LastLogonDate,canonicalname | select name,canonicalname,operatingsystem,LastLogonDate | Export-CSV c:\computers.csv -NoTypeInformation
将启用和禁用的计算机导出到 CSV
之前,我们使用过滤器来搜索启用和禁用的计算机。以下是如何使用相同的过滤器并将结果列表导出到 CSV 文件。
支持导出的计算机
Get-ADComputer -filter "Enabled -eq 'true'" -properties operatingsystem,canonicalname,LastLogonDate | select name,operatingsystem,canonicalname,LastLogonDate | Export-CSV c:\computers.csv -NoTypeInformation
以下是 Active Directory 中所有启用的计算机的结果:
导出禁用的计算机
Get-ADComputer -filter "Enabled -eq 'false'" -properties operatingsystem,canonicalname,LastLogonDate | select name,operatingsystem,canonicalname,LastLogonDate | Export-CSV c:\computers.csv -NoTypeInformation
如果仔细查看LastLogonDate列,您将看到每台计算机上次用于登录的日期。
概括
Get-ADComputer cmdlet 是检索有关一台或多台计算机的信息的好方法。例如,您可以快速列出具有特定操作系统的所有计算机对象,以便于安全更新或生命周期结束取消配置,或者发现所有不活动或禁用的计算机以通知您的 Active Directory 清理过程。这可以通过 Netwrix GroupID 最好地实现。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag