Windows AD 域管理 PowerShell 命令

备注:
dsquery 命令帮助你在目录中查找与指定搜索条件匹配的对象:
dsquery 的输入是一个搜索条件,其输出是与该搜索匹配的对象列表。
若要获得特定对象的属性,请使用 dsget 命令 (dsget /?)。

如果你提供的值包含空格,请在文本两边使用引号
(例如,"CN=John Smith,CN=Users,DC=microsoft,DC=com")。

如果你输入了多个值,这些值必须用空格隔开
(例如,一系列可分辨名称)。

示例:
在给定组织单位 (OU) 中查找名称以 "jon" 开始并且帐户被禁止登录的所有用户,
并显示他们的用户主体名称 (UPN):

dsquery user ou=Test,dc=microsoft,dc=com -o upn -name jon* -disabled

只在当前域中查找名称以 "smith" 结束并且至少已有三个星期处于非活动状态
的所有用户,并显示他们的 DN:

dsquery user domainroot -name *smith -inactive 3

在给定组织单位中查找 ou=sales,dc=microsoft,dc=com 的所有用户
并显示他们的 UPN:
dsquery user ou=sales,dc=microsoft,dc=com -o upn

另请参阅:
dsquery computer /? – 在目录中查找计算机的帮助。
dsquery contact /? – 在目录中查找联系人的帮助。
dsquery subnet /? – 在目录中查找子网的帮助。
dsquery group /? – 在目录中查找组的帮助。
dsquery ou /? – 在目录中查找组织单位的帮助。
dsquery site /? – 在目录中查找站点的帮助。
dsquery server /? – 在目录中查找 AD DC/LDS 实例的帮助。
dsquery user /? – 在目录中查找用户的帮助。
dsquery quota /? – 在目录中查找配额的帮助。
dsquery partition /? – 在目录中查找分区的帮助。
dsquery * /? – 使用通用 LDAP 查询在目录中查找
任何对象的帮助。

名称解析:

AD Active Directory 活动目录
LDAP Lightweight Directory Access Protocol 轻型目录访问协议
CN Common Name 通用名称
DN Distinguished Name 区分名/目录条目的名字
DC Domain Component 域组件
OU Organizational Unit 组织单位
RDN Relative Distinguished Name 可分辨名称
UPN User Principal Name 用户主体名称/用户登录名/邮件地址
SAMID SAM Account Name SAM 账户名

 

实例操作:

通过姓名查询关键用户

dsquery user -name 何星星
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例一

dsquery user -name 何星*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例二

dsquery user -name 何*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何小湘,OU=数字一组,OU=市场部,OU=市场营销中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何未央,OU=闵行,OU=上海,OU=华东分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何克难,OU=南京,OU=江苏,OU=华东分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何逸轩,OU=朝阳,OU=北京,OU=华北分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例三

dsquery user -name *星*
"CN=王海星,OU=芙蓉,OU=长沙,OU=湖南,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=崔夏星,OU=华强北,OU=福田,OU=深圳,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过姓名查询输出 UPN(User Principal Name,用户主体名称)

dsquery user -name 何星星 -o upn
"hexingxing@hexingxing.cn"

通过姓名查询输出 SAMID(SAM Account,Name SAM 账户名)

dsquery user -name 何星星 -o samid
"hexingxing"

通过姓名查询输出 DN(Distinguished Name,区分名/目录条目的名字)

dsquery user -name 何星星 -o dn
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 SAMID 查询输出 RDN(Relative Distinguished Name,可分辨名称)

dsquery user -samid hexingxing -o rdn
"何星星"

通过查询符合关键字为 test 描述字段的用户

dsquery user -desc test
"CN=于小小,OU=西湖,OU=南昌,OU=江西,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 UPN 查询关键用户

dsquery user -upn hexingxing@hexingxing.cn
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 SAMID 查询关键用户

dsquery user -samid hexing*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

查询最近 2 周没有活动的用户

dsquery user -inactive 2
"CN=dd,CN=Users,DC=hxx,DC=com"
"CN=www,CN=Users,DC=hxx,DC=com"

查询最近 200 天没有修改密码的用户

dsquery user -stalepwd 200
"CN=Exchange Online-ApplicationAccount,CN=Users,DC=hxx,DC=com"
"CN=Guest,CN=Users,DC=hxx,DC=com"
"CN=ASPNET,CN=Users,DC=hxx,DC=com"

查询已禁用的用户

dsquery user -disabled
"CN=Exchange Online-ApplicationAccount,CN=Users,DC=hxx,DC=com"
"CN=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c},CN=Users,DC=hxx,DC=com"
"CN=Guest,CN=Users,DC=hxx,DC=com"
"CN=krbtgt,CN=Users,DC=hxx,DC=com"
"CN=SUPPORT_388945a0,CN=Users,DC=hxx,DC=com"

查询并显示所有姓 “张” 的用户,未加 -limit 0 命令默认显示前 100 个条目

dsquery user -name 张*
...

导出姓 “张” 的前 10 位用户并输出到 C 盘桌面目录保存为 data.txt 文件

dsquery user -name 张* -limit 0 >C:\Users\hexingxing.HXX\Desktop\data.txt

重置密码

dsmod user "CN=何逸轩,OU=朝阳,OU=北京,OU=华北分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com" -pwd A1b2C3d4 -mustchpwd yes

显示指定域组成员名单

Get-ADGroupMember -Identity "中国总部_上海研发组" -Recursive | Get-ADUser -Properties Mail | Select-Object Name,Mail

Name   Mail
----   ----
徐丹   xudan@hexingxing.cn
曾蕾   zenglei@hexingxing.cn
余刚   yugang@hexingxing.cn
彭华   penghua@hexingxing.cn
王博   wangbo@hexingxing.cn
卢嘉希 lujiaxi@hexingxing.cn
谭美玲 tanmeiling@hexingxing.cn
李红伟 lihongwei@hexingxing.cn
陈月   chenyue@hexingxing.cn

导出指定域组成员名单

Get-ADGroupMember -Identity "中国总部所有人员" -Recursive | Get-ADUser -Properties Mail | Select-Object Name,Mail >C:\Users\hexingxing.HXX\Desktop\data.txt

获取组成员详细信息

Get-ADGroupMember -Identity "中国总部所有人员"

搜索密码永不过期的账号

Search-ADAccount -PasswordNeverExpires

AccountExpirationDate :
DistinguishedName     : CN=Administrator,CN=Users,DC=hxx,DC=com
Enabled               : True
LastLogonDate         : 2019/7/25 17:28:58
LockedOut             : False
Name                  : Administrator
ObjectClass           : user
ObjectGUID            : b32db757-2d18-4715-91d4-6ca2a97ee662
PasswordExpired       : False
PasswordNeverExpires  : True
SamAccountName        : Administrator
SID                   : S-1-5-21-5792920-1990643082-3676145756-500
UserPrincipalName     : Administrator@hxx.com

查询已禁用的 AD 账号、计算机、服务账号

Search-ADAccount -AccountDisabled


AccountExpirationDate :
DistinguishedName     : CN=krbtgt,CN=Users,DC=hxx,DC=com
Enabled               : False
LastLogonDate         :
LockedOut             : False
Name                  : krbtgt
ObjectClass           : user
ObjectGUID            : b762e82c-e231-4364-a9f2-db79e8a3061d
PasswordExpired       : True
PasswordNeverExpires  : False
SamAccountName        : krbtgt
SID                   : S-1-5-21-1306548705-3882769175-3968532004-502
UserPrincipalName     :

AccountExpirationDate :
DistinguishedName     : CN=王海星,OU=芙蓉,OU=长沙,OU=湖南,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com
Enabled               : False
LastLogonDate         :
LockedOut             : False
Name                  : 王海星
ObjectClass           : user
ObjectGUID            : 0aa08423-3e62-4b0e-9b0f-cd0a7185afb1
PasswordExpired       : True
PasswordNeverExpires  : False
SamAccountName        : whx
SID                   : S-1-5-21-1306548705-3882769175-3968532004-2727
UserPrincipalName     : whx@hexingxing.cn

仅搜索已禁用的 AD 账户

Search-ADAccount -AccountDisabled -UsersOnly

仅搜索已禁用的计算机账号

Search-ADAccount -AccountDisabled -ComputersOnly

搜索已过期的 AD 账号、计算机、服务账号

Search-ADAccount -AccountExpired

CSVDE 命令批量导入& 导出 AD 帐户成员信息

csvde -f output.csv -r "objectClass=user"
-f 指定导出的文件名
-r 搜索筛选器(字段),如:搜索对象为用户即命令:-r "objectClass=user"
-i 启用导入模式,不加参数 “-i” 默认为导出模式

示例: 简单导入当前域
csvde -i -f INPUT.CSV
示例: 简单导出当前域
csvde -f OUTPUT.CSV
csvde 导入时无法填写密码,所以帐户为禁用,且无密码,需要启用的用户导入后可批量启用