[玩转系统] Get-ADObject:使用 PowerShell 报告 Active Directory
作者:精品下载站 日期:2024-12-14 13:16:00 浏览:17 分类:玩电脑
Get-ADObject:使用 PowerShell 报告 Active Directory
您是否正在寻找使用 PowerShell 快速创建 Active Directory (AD) 报告的方法?您来对地方了!在本文中,您将了解如何使用 Get-ADObject
cmdlet 在 AD 环境中创建用户帐户的自定义报告。
想象一下,您在一家初创公司工作,并了解到该公司获得了投资者的资助,通过雇用新员工担任多个职位来发展公司。您的经理要求您向她提供每个办公室的人数报告,以确保工作场所有足够的办公空间。
通常,您可以使用安装在台式计算机上的Active Directory 用户和计算机 (ADUC) 应用程序控制台手动查看 AD 帐户。但是,使用 ADUC 每位新员工平均需要一分钟来查看每个 AD 帐户的信息。
您快速在 Internet 上搜索一些选项,发现可以使用名为 Get-ADObject
的 PowerShell cmdlet 自动收集 AD 报告数据。在本文中,您将了解 Get-AdObject
PowerShell cmdlet 的作用以及如何正确使用这个方便的 AD PowerShell cmdlet 自动创建报告。
先决条件/要求
本文将演练如何使用 Get-ADObject
。如果您打算遵循,请确保满足以下先决条件:
- 以具有查询AD用户权限的用户身份登录已加入域的Windows 10 PC
- 在 Windows Server 2016 或更高版本的 Active Directory 环境中。您将在本文中使用的实验室名为 mylab.local。
- 远程服务器管理工具 (RSAT) 包
快速提示:如果您尚未安装 RSAT 并且使用的是最新版本的 Windows 10,则可以使用 PowerShell 命令Install-WindowsFeature -Name RSAT-AD-PowerShell 快速安装它
.
Get-ADObject:它的选项和参数
Get-ADObject
cmdlet 的主要用途是连接到 AD 域控制器或轻量级目录服务 (LDS) 服务器并返回有关各种 Active Directory 对象的信息。
要查询 AD 对象,Get-ADObject
cmdlet 有许多参数,允许您连接到不同的域控制器、搜索全局目录、通过备用凭据进行身份验证,还可以指定 LDAP 过滤器并限制由搜索库的范围。
请注意,默认情况下,Get-ADObject
cmdlet 将仅返回一组 1000 个 AD 对象。覆盖此配置的最佳方法是使用 ResultSetSize 参数指定要返回的最大对象数。如果要接收所有对象,请将此参数设置为 $Null(空值)。然后就可以使用Ctrl+C来停止对象的查询和返回。
有关Get-ADObject
参数的更多信息,请查看Get-ADObject
帮助文档。
学习项目大纲
本文将教您如何将 Get-ADObject
PowerShell cmdlet 应用到实际场景中。您将通过介绍性段落中解释的场景来学习。
场景
在本文中,您将学习如何使用 Get-ADObject
生成两份报告并发送给您的经理。第一份报告将详细列出每个部门的所有用户帐户。老板想要每个部门都有单独的 CSV 文件。第二个任务将查询特定 OU 及其子 OU 中的所有禁用用户帐户。
在本文结束时,您将能够生成如下所示的 CSV 文件:
广告环境
您将在本文中使用的 Active Directory 组织单位 (OU) 结构如下所示。您可以看到我们有一个父部门 OU 和三个子 OU,分别为会计、营销和IT。每个子 OU 内部都有两个孙 OU,分别称为“用户”和“计算机”。
- 部门 (OU)
- 会计 (OU)
- 用户
- 计算机
- 营销(嵌套 OU)
- 用户
- 计算机
- IT(嵌套 OU)
- 用户
- 计算机
快捷方式:您可以使用 New-ADOrganizationalUnit
PowerShell cmdlet 构建这些 OU。如需快速完成此工作的脚本,请查看 Create-OU-Structure.ps1 脚本。
您还将使用位于每个用户 OU 内的数十个不同的 AD 用户帐户,如下所示。这些名字是随机选择的。
- 会计(accountant_user1-5)
- 营销(market_user_user1-5)
- IT(it_user1-5)
快捷方式:如果您想在上述 OU 内快速创建这些用户帐户,请下载并运行 Populate-AD_Accounts.ps1 脚本。
使用 Get-ADObject 创建 Active Directory 报告
关于 Get-ADObject 的介绍和背景信息已经足够了。让我们最终开始了解这个 PowerShell cmdlet 在现实世界中的工作原理!
在第一个示例中,您的任务是向经理提供一个 CSV 文件,其中包含会计、营销和 IT 部门 OU 中存在的所有用户帐户的报告。
了解过滤器参数
Get-ADObject
PowerShell cmdlet 唯一必需的参数是 Filter
。这是一个参数,是限制返回对象数量的一种方法。由于它是必需参数,因此即使您想使用通配符 (*
) 返回所有对象,也必须定义它。这告诉 Get-ADObject
返回所有对象。
使用 Filter
参数的最简单示例是返回整个 AD 域中的所有对象,如下所示。
PS51> Get-ADObject -Filter *
在本文中,您将看到 Filter
参数用于返回所有对象并限制返回对象的范围。
有关 Filter
参数语法的更多信息,请在 PowerShell 控制台中运行 Get-Help about_ActiveDirectory_Filter
。
使用 SearchBase 参数限制搜索范围
您正在使用的示例是 Get-ADObject
的 SearchBase
参数的完美用例。 SearchBase
参数允许您通过将范围限制为特定 OU 来限制搜索查询,从而限制通过 Get-ADObject
返回的对象。
通过限制范围,可以排除 AD 中的其他 OU,并仅定位与检索所需数据相关的特定 OU,从而减少 Get-ADObject
运行所需的时间。
SearchBase
参数值通过专有名称 (DN) 定义,格式为 OU=,DC=,DC=
。例如,要仅在名为 mylab.local 的域中查找 Department
OU 中的对象,DN 将类似于 OU=Department,DC=mylab,DC =本地
。
在此示例中,提取父部门 OU 和所有子 OU 中的所有 AD 用户,如下所示。这将返回部门 OU 和所有子 OU 中的所有 用户。
PS51> Get-ADObject -Filter * -SearchBase 'OU=Department,DC=mylab,DC=local'
利用过滤器参数
截至目前,您可以查询部门 OU 和所有子 OU 中的所有用户对象。但目前还不需要这样做。相反,我们首先提取所有会计用户。一种方法是实际使用 Filter
参数,而不仅仅是提供通配符值。
要限制结果,请使用 Department -eq 'Accounting'
的Filter
值。这会将结果限制为仅部门 OU 中 AD 部门属性设置为“会计”的对象。
您可以在下面看到您将所有对象存储在 $accounting_users
变量中。这个稍后会用到。
PS51> $accounting_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter {Department -eq "Accounting"}
将 AD 对象输出到 CSV 文件
现在 $accounting_users
包含所有适用的对象,您可以仅将每个对象的 Name
和 Department
属性通过管道传输到 Export -Csv
cmdlet。此 cmdlet 创建一个新的 CSV 文件并将每个 AD 对象存储为一行。
PS51> $accounting_users | Select-Object -Property Name,Department | Export-Csv -NoTypeInformation -Path C:\users$env:username\Desktop\report_accounting_users.csv
现在,您的桌面上应该有一个名为 report_accounting_users.csv 的 CSV 文件,如下图所示。
收集其他用户对象
现在您已经了解了如何使用 Get-ADObject
查找 AD 用户的基础知识,可以对其进行扩展以查找其他部门的用户对象。您将使用与以前相同的一般概念。
首先,找到旧金山办事处的所有 AD 用户。
#Get report of all department users that work in the San Francisco Office
$sf_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter { physicalDeliveryOfficeName -eq 'San Francisco' } -Properties Name,physicalDeliveryOfficeName,Department
$sf_users | Select Name,physicalDeliveryOfficeName,Department | Export-Csv -NoTypeInformation -Path C:\users$env:username\Desktop\report_sanfrancisco_office_users.csv
接下来,查找在佛罗里达州办事处工作的所有用户。此示例有点不同,因为您使用的是 Select-Object
cmdlet 的计算属性。这允许您将对象属性名称从来自 Get-ADObject
的简单 st
转换为更具描述性的 State
。
#Get report of all department users that work in the Florida Office
$fl_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter { St -eq 'FL' } -Properties Name,St
$fl_users | Select-Object -Property Name,@{N='State'; E={$_.st}} | Export-Csv -NoTypeInformation -Path C:\users$env:username\Desktop\report_florida_state_users.csv
最后,收集所有 IT 用户。这次,不使用 Department AD 属性,而是使用 Filter
参数来查找名称以 it 开头的所有对象。
#Get report of all select department users that have a name that contains "user"
$select_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter {Objectclass -eq 'user' -and name -like 'it*'} -Properties Name,Department,st
$select_users | Select-Object -Property Name,Department,@{N=’State’; E={$_.st}} | Export-Csv -NoTypeInformation -Path C:\users$env:username\Desktop\report_select_users.csv
注意:您还可以使用 Get-AdUser
cmdlet,而不是在上一示例中使用 objectClass -eq 'user'
。
使用 LDAP 过滤器查找禁用帐户
在前面的示例中,您使用 Filter
参数来限制 Get-ADObject
返回的对象。另一种方法是使用 LDAPFilter
参数。此参数执行相同的任务,但允许您通过 LDAP 查询搜索字符串指定过滤器。 LDAPFilter
参数被认为是搜索 Active Directory 的更高级选项。
现在让我们创建一个报告,使用 LDAPFilter
和 SearchBase
参数来定位特定 OU,以查找组织中的所有禁用用户。
useraccountcontrol:1.2.840.113556.1.4.803:=2 设置是为 Active Directory NTDS 数据库中的所有禁用用户指定的 AD 属性。这是 AD 标记不活动帐户(登录被禁用)的一种方法。以下是更多您可能会觉得有用的 LDAP 查询示例。
您可以在下面看到我们使用的 LDAP 查询字符串 (&(objectclass=user)(objectcategory=user)(useraccountcontrol:1.2.840.113556.1.4.803:=2))
。虽然复杂,但它能很好地完成工作。要了解 LDAP 查询搜索字符串,请查看揭秘 Active Directory 和 LDAP 搜索字符串。
下面的命令运行用于仅显示禁用用户的 LDAP 筛选器参数,然后使用 Export-CSV
cmdlet 创建报告,就像您之前所做的那样。
$disabled_users = Get-ADObject -LDAPFilter "(&(objectclass=user)(objectcategory=user)(useraccountcontrol:1.2.840.113556.1.4.803:=2))" -SearchBase 'OU=Department,DC=mylab,DC=local'
$disabled_users | Select-Object -Property Name | Export-Csv -NoTypeInformation -Path C:\users$env:username\Desktop\report_disabled_users.csv
最终结果
现在,您的桌面上应该有五个 CSV 文件可供您的经理使用!
- report_accounting_users.csv
- report_sanfrancisco_office_users.csv
- report_florida_state_users.csv
- report_select_users.csv
- report_disable_users.csv
概括
在本文中,您了解了如何使用 Get-ADObject
PowerShell cmdlet 搜索 Active Directory。
接下来是什么?
为了进一步加深您所学到的知识,可以通过将数据导出到数据库来将生成 AD 报告的过程提升到一个新的水平。进入数据库后,您可以使用定制网站或 Microsoft SharePoint 等应用程序访问 AD 报告数据。这只是一个想法。还有无数其他的!
搜索 Active Directory 的能力是许多组织所需的一项基本技能,并且最终将为您和您的团队节省数小时的时间。
进一步阅读
- Active Directory 脚本丰富:快来获取吧!
猜你还喜欢
- 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