PowerShell命令之AD域控

  • 环境简介
  • 用户的创建,删除,修改,禁用和启用
    • 创建用户:New-ADUser
    • 删除用户:Remove-ADUser
    • 修改用户:Set-ADUser
    • 禁用用户:Disable-ADAccount
    • 启用用户:Enable-ADAccount
  • 组织单元(OU)的创建,删除,修改和查询
    • 创建OU:New-ADOrganizationalUnit
    • 修改OU:Set-ADOrganizationalUnit
    • 删除OU:Remove-ADOrganizationalUnit
    • 查询OU:Get-ADOrganizationalUnit
      • 1.已知道OU:OU=GZIT,OU=Corporation,DC=TEST,DC=COM
      • 2.-Filter 指定检索activedirectory对象的查询字符串:
  • 群组(Group)的创建,删除,修改和查询
    • 创建Group:New-ADGroup
    • 删除Group:Remove-ADGroup
    • 修改Group:Set-ADGroup
    • 查询Group:Get-ADGroup
      • 1.已知道:Group:gzit
      • 2.-Filter 指定检索activedirectory对象的查询字符串:
  • 查询AD用户、计算机和服务帐户
    • Search-ADAccount
    • 还要一些其他选项如下:
  • 查询用户,重置用户密码
    • 查询用户:Get-ADUser
      • 1.已知道登录名:michaelzhang
      • 2.-Filter 指定检索activedirectory对象的查询字符串:
    • 重置密码:Set-ADAccountPassword

环境简介

Windows Server 2012R2
域控:TEST.COM
OU:OU=Corporation,DC=TEST,DC=COM

用户的创建,删除,修改,禁用和启用

创建用户:New-ADUser

New-ADUser -path "OU=Corporation,DC=TEST,DC=COM" -name "张小明" -Surname "李" -GivenName "小明" -SamAccountName michaelzhang -userPrincipalName michaelzhang@tslj.cn -EmailAddress michaelzhang@tslj.cn -department GZIT -displayname "Michael Zhang Xiao Ming 张小明 (GZIT)" -description "张小明" -manager jamesli -accountpassword (convertto-securestring "PassWord123$%^" -asplaintext -force) -enabled $true -PasswordNeverExpires $true

解释:

-path    #指定OU路径,必须设置
-name  #名字,必须设置
-Surname    #姓
-GivenName    #名
-SamAccountName    #账户,必须设置
-userPrincipalName    #登陆名,必须设置
-EmailAddress    #邮箱地址
-department   # 部门
-employeeID    #工号
-displayname   # 显示名,必须设置
-description    #描述
-manager    #上级领导
-accountpassword (convertto-securestring "123456" -asplaintext -force) -enabled $true -PasswordNeverExpires $true    #设置密码123456,并启用用户,必须设置

其他属性:

-OfficePhone#座机号码
-postalCode#邮政编码
-State#省份
-City#市级
-StreetAddress#具体地址

删除用户:Remove-ADUser

Remove-ADUser -Identity michaelzhang

解释:

-IdentityDistinguished NameExample: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM account name (sAMAccountName)Example: saradavis

修改用户:Set-ADUser

Set-ADUser michaelzhang -City "广州市" -State "广东省"

解释:修改用户所取的属性值Identity 可省略:

Distinguished Name
Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM account name (sAMAccountName)
Example: saradavis

其他cmdlet parameters没有的属性:

请使用Add, Remove, Replace and Clear,可以通过指定逗号分隔的列表来修改多个属性
请注意:
When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:(当您同时使用添加、删除、替换和清除参数时,操作将按以下顺序执行:)
..Remove    #移除一个或者多个值,-Remove @{otherTelephone='555-222-2222','555-222-4444'}
..Add    #增加一个或者多个值,-Add @{otherTelephone='555-222-1111', '555-222-3333'; otherMobile='555-222-9999' }
..Replace #将已有的一个或者多个全部值替换新的一个或者多个值,-Replace @{otherTelephone='555-222-2222'}
..Clear #清除一个或者多个属性的所有值,-Clear otherTelephone,FavColors

详细命令如下:

Set-ADUser GlenJohn -Replace @{title="director";mail="glenjohn@fabrikam.com"}
Set-ADUser GlenJohn -Remove @{otherMailbox="glen.john"} -Add @{url="fabrikam.com"} -Replace @{title="manager"} -Clear description

禁用用户:Disable-ADAccount

Disable-ADAccount -Identity michaelzhang

解释:

-Identity:Distinguished Name
Example: CN=SaraDavis ,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM Account Name (sAMAccountName)
Example: saradavis

启用用户:Enable-ADAccount

Enable-ADAccount -Identity michaelzhang

解释:

-Identity:
Distinguished Name
Example: CN=SaraDavis ,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM Account Name (sAMAccountName)
Example: saradavis

组织单元(OU)的创建,删除,修改和查询

创建OU:New-ADOrganizationalUnit

New-ADOrganizationalUnit -Name GZIT -Path "OU=Corporation,DC=TEST,DC=COM" -Description "广州IT" -DisplayName "广州IT" -ProtectedFromAccidentalDeletion $True

解释:
创建一个名为“UserAccounts”的新组织单元,默认防止意外删除(-ProtectedFromAccidentalDeletion $True)。
其他可添加的属性:

-City    #市级
-Country "CN"    #国家中国
-Description    #描述
-DisplayName    #显示名
-State    #省份
-StreetAddress    #具体地址

修改OU:Set-ADOrganizationalUnit

Set-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -ProtectedFromAccidentalDeletion $True

解释:

-IdentityA distinguished name
A GUID (objectGUID)
其他可修改的属性:
-City    #市级
-Country "CN"    #国家中国
-Description    #描述
-DisplayName    #显示名
-State    #省份
-StreetAddress    #具体地址

删除OU:Remove-ADOrganizationalUnit

要删除OU,必须设置移除防止意外删除:

Set-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -ProtectedFromAccidentalDeletion $False

然后才能删除一个OU及其子元素(-Recursive):

Remove-ADOrganizationalUnit -Identity "ou=gzit,OU=Corporation,DC=TEST,DC=COM" -Recursive

查询OU:Get-ADOrganizationalUnit

1.已知道OU:OU=GZIT,OU=Corporation,DC=TEST,DC=COM

例子1:

Get-ADUser -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM"

解释:默认返回的结果的属性和值只有如下几个:

City :
Country :
DistinguishedName : OU=GZIT,OU=Corporation,DC=TEST,DC=COM
LinkedGroupPolicyObjects : {}
ManagedBy :
Name : GZIT
ObjectClass : organizationalUnit
ObjectGUID : da395c2e-c69c-4052-9331-fba820201726
PostalCode :
State :
StreetAddress :

例子2:

Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties *

或者命令:

Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties State,City

解释:

-Properties    #使用此参数检索未包含在默认设置中的属性。要检索和显示的所有属性列表,请使用以下命令::Get-ADUser -Identity michaelzhang -Properties * | Get-Member

例子3.可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

例如:

Get-ADOrganizationalUnit -Identity "OU=GZIT,OU=Corporation,DC=TEST,DC=COM" -Properties * | Format-Table name,State -A

如下为显示结果:

name State
----     -----
GZIT

2.-Filter 指定检索activedirectory对象的查询字符串:

 ::= "{"  "}"        #建议用单引号,少用{}::=  |    |  ::=   ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假::= "-not"        #取反:Get-ADOrganizationalUnit -Filter '-NOT Name -like "GZ*"'::=  |   #属性,取其值跟value进行对比
::= <compare this value with an  by using the specified >#值,跟属性进行对比

解释:

:
"-eq"         #等于
"-le"         #小于等于
"-ge"         # 大于等于
"-ne"         #不等于
"-lt"          #小于
"-gt"         #大于
"-approx"         #
"-bor"         #
"-band"         #
"-recursivematch"         #
"-like"          #相似"-notlike"         #不相似

多个条件查询:

Get-ADOrganizationalUnit -Filter 'Name -like "GZ*" -and displayname -like "广州*"' -Properties displayname

关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

群组(Group)的创建,删除,修改和查询

创建Group:New-ADGroup

New-ADGroup -Name "GZIT" -SamAccountName GZIT -GroupCategory Security -GroupScope DomainLocal -DisplayName "GZIT 广州IT部" -Path "OU=CorporationGroup,DC=TEST,DC=COM" -Description "GZIT 广州IT部"

解释:

-Name    #名称
-SamAccountName    #登陆名
-GroupCategory    #组类别(安全:Security or 1;通讯组:Distribution or 0)
-GroupScope#组作用域(本地域:DomainLocal or 0;全局:Global or 1;通用:Universal or 2)
-DisplayName    #显示名
-Path    #OU位置
-Description    #描述

删除Group:Remove-ADGroup

Remove-ADGroup -Identity GZIT

解释:

-Identity A distinguished name
A GUID (objectGUID)
A security identifier (objectSid)
A Security Account Manager account name (sAMAccountName)

修改Group:Set-ADGroup

Set-ADGroup -Identity gzit -Description "GZIT 广州技术部" -DisplayName "GZIT 广州技术部"

解释:修改用户所取的属性值Identity 可省略:

Distinguished Name
Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM account name (sAMAccountName)
Example: saradavis

其他cmdlet parameters没有的属性:

请使用Add, Remove, Replace and Clear,可以通过指定逗号分隔的列表来修改多个属性
请注意:
When you use the Add, Remove, Replace and Clear parameters together, the operations will be performed in the following order:(当您同时使用添加、删除、替换和清除参数时,操作将按以下顺序执行:)
..Remove    #移除一个或者多个值,-Remove @{otherTelephone='555-222-2222','555-222-4444'}
..Add    #增加一个或者多个值,-Add @{otherTelephone='555-222-1111', '555-222-3333'; otherMobile='555-222-9999' }
..Replace #将已有的一个或者多个全部值替换新的一个或者多个值,-Replace @{otherTelephone='555-222-2222'}
..Clear #清除一个或者多个属性的所有值,-Clear otherTelephone

详细命令如下

Set-ADGroup -Identity gzit -Replace @{mail="gzit@test.com"}

查询Group:Get-ADGroup

1.已知道:Group:gzit

例子1

Get-ADGroup -Identity gzit

解释:默认返回的结果的属性和值只有如下几个:

DistinguishedName : CN=GZIT,OU=CorporationGroup,DC=TEST,DC=COM
GroupCategory : Security
GroupScope : DomainLocal
Name : GZIT
ObjectClass : group
ObjectGUID : cda77835-c53b-476c-b37d-46bd87217685
SamAccountName : GZIT
SID : S-1-5-21-244923085-1092734215-2872993527-1107

例子2

Get-ADGroup -Identity gzit -Properties *

或者命令:

Get-ADGroup -Identity gzit -Properties  mail

解释:

-Properties    #使用此参数检索未包含在默认设置中的属性。要检索和显示的所有属性列表,请使用以下命令::
Get-ADGroup -Identity gzit -Properties * | Get-Member

例子3:可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

Get-ADGroup -Identity gzit -Properties * | Format-Table name,mail -A

如下为显示结果:

name mail
---- ----
GZIT gzit@test.com

2.-Filter 指定检索activedirectory对象的查询字符串:

<filter> ::= "{" <FilterComponentList> "}"        #建议用单引号,少用{}
<FilterComponentList> ::= <FilterComponent> | <FilterComponent> <JoinOperator> <FilterComponent> | <NotOperator> <FilterComponent>
<FilterComponent> ::= <attr> <FilterOperator> <value>
<FilterOperator> ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"
<JoinOperator> ::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假
<NotOperator> ::= "-not"        #取反:Get-ADGroup -Filter '-not mail -like "gzit*"'
<attr> ::= <PropertyName> | <LDAPDisplayName of the attribute>  #属性,取其值跟value进行对比
<value>::= <compare this value with an <attr> by using the specified <FilterOperator>>#值,跟属性进行对比

解释:

<FilterOperator>:"-eq"         #等于
"-le"         #小于等于
"-ge"         # 大于等于
"-ne"         #不等于
"-lt"          #小于
"-gt"         #大于
"-approx"         #
"-bor"         #
"-band"         #
"-recursivematch"         #
"-like"          #相似"-notlike"         #不相似

多个条件查询:

Get-ADGroup -Filter ' mail -like "gzit*" -and name -like "gzit"'

关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

查询AD用户、计算机和服务帐户

Search-ADAccount

Gets Active Directory user, computer, or service accounts.
获取活动目录用户、计算机或服务帐户。

官方文档

Examples

-------------------------- EXAMPLE 1 --------------------------
Search-ADAccount -AccountDisabled | FT Name,ObjectClass -A

解释:
返回所有禁用的用户、计算机和服务帐户。

-------------------------- EXAMPLE 2 --------------------------
Search-ADAccount -AccountDisabled -UsersOnly | FT Name,ObjectClass -A

解释:
返回所有禁用的用户。

-------------------------- EXAMPLE 3 --------------------------
Search-ADAccount -AccountExpired | FT Name,ObjectClass -A

解释:
返回所有已过期的用户、计算机和服务帐户。

-------------------------- EXAMPLE 4 --------------------------
Search-ADAccount -AccountExpiring -TimeSpan 6.00:00:00 | FT Name,ObjectClass -A

解释:
返回所有将在未来6天内到期的用户、计算机和服务帐户。

-------------------------- EXAMPLE 5 --------------------------
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | FT Name,ObjectClass -A

解释:
返回所有在过去90天内不活跃的帐户。

-------------------------- EXAMPLE 6 --------------------------
Search-ADAccount -AccountExpiring -DateTime "3/18/2009" | FT Name,ObjectClass -A

解释:
返回2009年3月18日到期的所有帐户。

还要一些其他选项如下:

-AccountDisabled    #返回所有禁用的用户、计算机和服务帐户。
-UsersOnly        #查询用户,非计算机和服务账户.
-ComputersOnly    #查询计算机,非用户和服务账号
-AccountDisabled    #禁用的用户、计算机或服务帐户
-PasswordExpired     #返回所有带有永不过期密码的帐户。
-PasswordNeverExpires        #返回所有带有永不过期密码的帐户。
-LockedOut            #返回所有被锁定的帐户

查询用户,重置用户密码

查询用户:Get-ADUser

1.已知道登录名:michaelzhang

例子1

Get-ADUser -Identity michaelzhang

解释:默认返回的结果的属性和值只有如下几个:

DistinguishedName : CN=张小明,OU=Corporation,DC=TEST,DC=COM
Enabled : False
GivenName : 小明
Name : 张小明
ObjectClass : user
ObjectGUID : a4b8132b-9a0f-4204-b1a1-6dfccb50c9f5
SamAccountName : michaelzhang
SID : S-1-5-21-244923085-1092734215-2872993527-1104
Surname : 李
UserPrincipalName : michaelzhang@tslj.cn

例子2

Get-ADUser -Identity michaelzhang -Properties *

或者命令:

GetADUser -Identity michaelzhang -Properties OfficePhone,Organization

解释:

-Properties    #使用此参数检索未包含在默认设置中的属性。
要检索和显示的所有属性列表,请使用以下命令::
Get-ADUser -Identity michaelzhang -Properties * | Get-Member

例子3
可以通过管道符{|Format-Table(可简写|ft)}指定显示的属性并且格式化缩进(-A)

例如:

Get-ADUser -Identity michaelzhang -Properties * | Format-Table name,Emailaddress  -A

如下为显示结果:

name      Emailaddress
--------      ------------
张小明    michaelzhang@tslj.cn

2.-Filter 指定检索activedirectory对象的查询字符串:

<filter> ::= "{" <FilterComponentList> "}"        #建议用单引号,少用{}
<FilterComponentList> ::= <FilterComponent> | <FilterComponent> <JoinOperator> <FilterComponent> | <NotOperator> <FilterComponent>
<FilterComponent> ::= <attr> <FilterOperator> <value>
<FilterOperator> ::= "-eq" | "-le" | "-ge" | "-ne" | "-lt" | "-gt"| "-approx" | "-bor" | "-band" | "-recursivematch" | "-like" | "-notlike"
<JoinOperator> ::= "-and" | "-or"    #-and都为真,则真,否则假;-or有一个为真,则真,否者为假
<NotOperator> ::= "-not"        #取反:Get-ADUser -Filter '-not Emailaddress -like "michaelzhang@tslj.cn"'
<attr> ::= <PropertyName> | <LDAPDisplayName of the attribute>  #属性,取其值跟value进行对比
<value>::= <compare this value with an <attr> by using the specified <FilterOperator>>#值,跟属性进行对比

解释:

<FilterOperator>:"-eq"         #等于
"-le"         #小于等于
"-ge"         # 大于等于
"-ne"         #不等于
"-lt"          #小于
"-gt"         #大于
"-approx"         #
"-bor"         #
"-band"         #
"-recursivematch"         #
"-like"          #相似"-notlike"         #不相似

多个条件查询:

Get-ADUser -Filter 'Emailaddress -like "michaelzhang@tslj.cn" -and name -like "张小明"'

关于更多的例子请查看如下链接:about_ActiveDirectory_Filter

重置密码:Set-ADAccountPassword

Set-ADAccountPassword -Identity michaelzhang -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "PassWord123$%^" -Force)

PowerShell命令之AD域控相关推荐

  1. 查询域内计算机命令,AD域控Dsquery查询命令实列

    注:请以管理员的身份运行cmd程序,要不然某些命令不生效 AD域控Dsquery查询命令实列 查询技术支持二部的所有用户 dsquery user OU=技术支持二部,OU=技术部,OU=ZT-Use ...

  2. powershell自动化操作AD域、Exchange邮箱系列(1)——powershell 简介

    从今天开始,系统的整理一下使用powershell自动化管理AD域账号.exchange邮箱账号的流程,最终我们将实现一个通过Web端调用powershell脚本实现的域控 邮箱管理系统. 目录 一. ...

  3. 2021-07-22 CentOS7.6 Samba使用AD域控认证(winbind),亲测有效。

    CentOS7.6 Samba使用AD域控认证(winbind),亲测有效. centos7: https://www.freesion.com/article/44621398696/ cetnos ...

  4. Windows Server AD域控服务器升级/迁移(AD域控的五大角色转移)

    Windows Server AD域控服务器升级/迁移(AD域控的五大角色转移) 新域控服务器安装 配置域控服务器,加入现有域 域控角色迁移到新域控服务器 原域控服务器降级退域 本文主要介绍在现有域环 ...

  5. PKI/CA: Win2012 R2标准版 分布式部署AD域控环境的智能卡登陆配置问题记录_20180919_七侠镇莫尛貝

    概述: PC1: DNS + IIS + AD, Win2012 R2标准版 PC2: AD证书服务, Win2012 R2标准版, PC3: 智能卡(飞天ePass3000)登陆测试客户端. 1.P ...

  6. 单台AD域控安装和部署配置

    单台AD域控安装和部署配置 环境 准备工作 设置主机名 配置静态ip地址 安装AD域服务 添加角色和功能 开始之前-安装类型-服务器选择,都默认下一步 服务器角色 功能,默认下一步 AD DS,默认下 ...

  7. server08 AD域控故障处理

    [问题描述] 某客户在线使用的电脑为AD域环境的客户机,其中分2类,一类为可插播U盘,一类无此权限,某日发现桌面虚拟机内存负载奇高,相关报错有: 1)AD域控服务报错:无法与GC全局编录联系: 2)D ...

  8. WINDOWS SERVER 2003 R2 AD域控安装过程实践

    实验目的: 通过安装AD域控服务器,以实现对局域网中用户主机的权限.密码集中管理. 实验环境: 通过VMware 虚拟一台windows server 2003 服务器作为AD域控服务器,IP地址为[ ...

  9. AD域控的搭建与加入AD域

    最近公司要加AD域提前使用虚拟机尝试尝试,忽略细节. 环境准备:一台Windows server 2008 r2服务器,一台Windows 7 打开Windows server 2008 r2选择管理 ...

最新文章

  1. 如何在Ubuntu Linux上开采以太坊?
  2. K-BERT | 基于知识图谱的语言表示模型
  3. [ASP.NET] 限制上传文件类型的两种方法(转)
  4. DNN结构演进History—CNN( 优化,LeNet, AlexNet )
  5. 【转】VNC不同软件之间的联系与区别
  6. Remove Duplicates from Sorted Array II leetcode java
  7. java createstatement,createStatement参数说明
  8. Linux删除证书文件命令,Linux基础面面观之文件复制、移动、删除的命令
  9. SharedObject实例.
  10. 从远程库克隆(转载)
  11. 你觉得最好用的地图导航软件是哪一个?这3款App供你选择
  12. 手写demo了解vue响应式原理,订阅模式,观察者模式
  13. win7声音图标不见,此图标当前处于未活动状态
  14. 后台打log(便于查看问题和调试)方法
  15. 杭电计算机学院和其他学院,浙江最好的5所大学,浙江大学一家独大,其余4所争议很大...
  16. 刚刚!腾讯荣升Linux基金会白金会员
  17. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!
  18. JAVA continue 用法
  19. 【转】不花钱,自己查论文抄袭程度
  20. 李飞飞、邓中翰等七位华人学者当选2020美国工程院院士!

热门文章

  1. 我的周刊(第037期)
  2. 电话信用标记数据的爬虫
  3. 植物激素基因高级分析来啦~
  4. 机器学习中标称型数据和数值型数据的区别
  5. 用Excel做What-If Scenario Analysis
  6. 设计模式-单例模式及应用场景
  7. 卸载打印机驱动程序(win7)
  8. 安卓手机如何找回被误删的照片小技巧
  9. 微信小程序口红项目制作
  10. matlab计算鲈鱼质量,鲈鱼数学建模实验报告.pdf