[玩转系统] 通过 Get-ADUser Powershell Cmdlet 进行用户管理
作者:精品下载站 日期:2024-12-14 05:59:10 浏览:13 分类:玩电脑
通过 Get-ADUser Powershell Cmdlet 进行用户管理
介绍
PowerShell 中的 Get-ADUser cmdlet 提供了许多参数,用于在 Active Directory (AD) 域中查找一个或多个用户。
默认情况下,PowerShell 使用登录到计算机的帐户运行。如果要使用不同的帐户运行命令,可以在命令之前使用此开关强制 PowerShell 提示您输入凭据:
$cred =Get-Credential
搜索特定用户
-身份参数
如果您知道要获取哪个 AD 用户,请使用 -Identity 参数:
Get-ADUser -Identity “identifier”
为标识符指定以下之一:
- 专有名称 (DN)
- Sam 帐户名
- GUID
- 安全识别码
例子
Get-ADUser -Identity "ABBEY.Crawford"
将搜索限制到特定 OU
-SearchBase参数
使用 -SearchBase 参数将搜索限制为特定 OU,由其专有名称 (DN) 指定:
Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "distinguishedName of OU"
例子
Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "OU=Versacorp,DC=milkyway,DC=local"
-SearchScope参数
组合 SearchBase 和 SearchScope 参数可将搜索限制为特定 OU 和指定数量的子 OU 级别。例如,要在 OU 及其直接子 OU 中查找用户帐户,请为 SearchScope 指定值 1。要包括子 OU 和孙 OU,请使用值 2。
Get-ADUser -SearchBase " distinguishedName of OU " -SearchScope "2"
例子
Get-ADUser -Filter "givenname -Like 'Abbey'" -SearchBase "OU=Versacorp,DC=milkyway,DC=local" -SearchScope "2"
过滤特定用户组
- 过滤参数
如果您不知道任何标识符的确切值,您可以指定要过滤的属性和过滤器的值,如下所示:
Get-ADUser -Filter “filter value”
运营商
OperatorMeaningSample expression-eqEqual toName -like ‘Inga’-neNot equal toCountry -ne ‘US’-gtGreater thanBadLogonCount -gt ‘0’-geGreater than or equalModified -ge ’06-04-2021 12:00:00?-ltLess thanLastLogonTimeStamp -lt ’01-08-2020?-leLess than or equalCreated -le ’01-08-2020?-likeWildcard searchMail -like ‘*@xyz.com’-notlikeWildcard search with negationDepartment -notlike ‘*’-andAndCountry -eq ‘US’ -and Department -eq ‘Operations’-orOrCountry -eq ‘US’ -or -Country -eq ‘UK’查找具有特定名称的用户
要使用名字或部分名字搜索用户,请使用 -Filter 参数以及 -like 子句和一个值。
以下示例显示了 Filter 参数的使用,其中涉及 AD 属性给定名称。它返回给定名称包含 Abbey 的用户。
Get-ADUser -Filter “givenname -Like ‘Abbey’”
查找名称相似的用户
您可以使用通配符修改前面的命令来获取名称以特定字符串开头的所有用户,如下所示:
Get-ADUser -Filter "Name -like 'Abb*'" | Select Name,givenname,surname,samAccountName,distinguishedname | ftG
查找所有启用的用户
如果您想查看所有启用的用户,可以使用以下 cmdlet:
Get-ADUser -filter {Enabled -eq "true"} | ft
查找禁用用户
查找禁用用户对于促进 AD 清理非常有价值。使用带有一个过滤器的简单命令,“-Filter “Enabled -eq ‘false’””可能会返回数百个禁用用户,因为一些公司更愿意保留其 Active Directory 对象用于审核目的。使用具有特定 OU 的 -SearchBase 过滤器来限制结果。例如,此 cmdlet 将查找特定 OU 中的所有禁用的用户帐户:
Get-ADUser -Filter “Enabled -eq 'false'” -SearchBase "CN=Users,DC=Knox,DC=lab" -Properties * | Select Name,Enabled |ft
查找拥有电子邮件地址的用户
要查找分配有邮箱的所有用户,请使用以下命令:
Get-ADUser -Filter {mail -ne "null"} -Properties Name,GivenName,mail| ft Name,GivenName,mail
查找未设置密码过期的帐户
为了加强安全性,您可能需要查找“passwordneverexpires”属性设置为 true 的所有帐户,如下所示:
Get-ADUser -Filter {passwordneverexpires -eq "true"} | Select Name, sAMAccountName
查找过时的用户帐户
有时,我们需要过滤掉一段时间没有使用的用户帐户。以下是查找过去 60 天内未使用的所有用户帐户的方法:
$CutoffDate = (Get-Date).AddDays(-60)
Get-ADUser -Filter "LastLogonDate -lt '$CutoffDate'" -Properties LastLogonDate | Select Name, LastLogonDate
查找在特定日期创建的用户
要查看 Active Directory 中特定日期创建的所有用户帐户,可以使用以下命令:
Get-ADUser -Filter {Created -lt '7/30/2021'} | Select Name
组合多个过滤器
您可以组合多个过滤器来定义用于查找用户的复杂标准。
实施例1
以下命令将返回销售部门所有已启用的用户:
Get-ADUser -Filter "Enabled -eq 'true' -and Department -like 'Sales'" -Properties * | Select Name, Department |ft
实施例2
以下 cmdlet 将返回部门属性不为 null 并且名称以字母 A 开头的所有用户:
Get-ADUser -filter {Department -ne "null"} | Where-Object Name -like 'A*'
控制显示哪些属性
-性能参数
默认情况下,Get-ADUser 命令仅返回少数参数。如果您想要用户属性的扩展列表,请使用以下 cmdlet:
Get-ADUser -Identity “Identifier” -Properties *
显示一组特定的属性
或者,您可以明确列出您想要为用户查看的属性:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,Enabled,mail,department,company,title,c,st,streetaddress |ft
显示组成员资格
要查看用户的成员资格,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.crawford -Properties memberof | Select-Object -ExpandProperty memberof
显示电子邮件地址
如果您想查看特定用户的电子邮件地址,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,mail |ft
显示用户主体名称 (UPN)
要检索用户的 UPN,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,userprincipalname |ft
显示 SAM 帐户名称
要显示用户的 SAM 帐户名,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,samAccountName |ft
显示显示名称
如果您想查看用户的显示名称(例如,因为 ADUC 中的显示名称可能不同),您可以使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,displayname |ft
显示专有名称
要查看用户的可分辨名称,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,distinguishedname |ft
显示代理地址
如果您想查看用户的代理地址,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,proxyaddresses |ft
显示用户的管理员
要显示用户管理员的 SAM 帐户名,请使用以下命令:
Get-ADUser “User Identifier” -properties * | select amAccountName, @{Name=’Manager’;Expression={(Get-ADUser($_.manager)).samaccountname}}
显示员工 ID
要查看用户的员工 ID,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,employeeid |ft
显示电话号码
要查找用户的所有电话号码,请使用以下命令:
Get-ADUser -Identity “User Identifier” -Properties * | Select *Phone*
要以表格形式显示这些值,请使用以下命令:
Get-ADUser -Identity “User Identifier” -Properties * | Select Name, *Phone* | ft
显示密码到期日期和时间
要查看帐户的密码到期日期,请使用以下 cmdlet:
Get-ADUser -Identity “User Identifier” -Properties msDS-UserPasswordExpiryTimeComputed | select Name, {[datetime]::FromFileTime($_.”msDS-UserPasswordExpiryTimeComputed”)}
显示帐户创建日期
要查看 AD 中创建用户帐户的时间,请使用以下命令:
Get-ADUser -filter * -Properties Name,whencreated | ft Name,WhenCreated
显示上次登录日期和时间
如果您想查看用户上次登录任何系统的时间,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -Properties * | Select Name,lastlogondate |ft
显示上次密码更改日期和时间
要查看用户上次更改密码的时间,请使用以下 cmdlet:
Get-ADUser -Identity Abbey.Crawford -properties PwdLastSet,PasswordLastSet | sort Name | ft Name,PwdLastSet,PasswordLastSet
显示扩展属性的值
组织可以使用 AD 扩展属性来存储有关用户的附加信息。例如,O365许可信息可以存储在ExtensionAttribute1中。要查看此信息,请使用以下 cmdlet:
Get-ADUser -Identity “Abbey.Crawford” -Properties * | Select sAMAccountName, extensionAttribute1
对输出进行排序
要使用特定属性对 Get-ADUser 命令的输出进行排序,请使用以下命令:
Get-ADUser -Filter * | Select Name | Sort-Object -Property Name
将数据导出到 CSV 文件
示例1
以下命令将查找过去 180 天内创建的所有用户帐户,按名称对它们进行排序,并将有关它们的选定信息导出到 CSV 文件:
Get-ADUser -filter * -properties * | Where-Object { $_.created -gt (get-date).AddDays(-180)} | select-object Name, Created | sort Name | export-csv C:\Accounts.csv -NoTypeInformation
示例2
以下命令查找特定 OU 中的所有用户并将有关他们的选定详细信息输出到 CSV 文件:
这是 CSV 文件:
结论
Get-ADUser 命令是一种查找一个或多个满足特定条件的用户的通用方法。您可以控制显示哪些用户属性以及信息的排序方式,并将输出导出到 CSV 文件。
如果您对更全面的 Active Directory 和 Azure AD 管理解决方案感兴趣,请查看 Netwrix GroupID。它提供了更先进的管理 shell,也与 PowerShell 完全兼容。
猜你还喜欢
- 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