搜索结果

×

搜索结果将在这里显示。

AD(Powershell)

獲取AD用戶

Get-ADUsers -Identity USER -Properties "*"

dsquery是一个好命令。它可以用来查询AD中各种对象。dsquery如果没查询到任何结果,将返回一个空行,没有报错信息。用法举例如下:

例1 根据用户名查用户帐号

C:\WINDOWS>dsquery user -name gp*

"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"

这里的user就是指查用户帐号,也可以换成Computer来查计算机帐号,换成group来查组,或者换成server来查域控制器;-name参数是指根据用户名来查,*是通配符;

这条命令的意思就是查询用户名以gp开头的所有用户帐号,并且返回其DN

解释:DN,Distinguished Name,可辨识名称,是包含了全路径的AD对象名称。格式如下

CN=david,OU=staff,DC=domain,DC=com

这个DN说明的是一个叫david的对象,它位于domain.com域下的一个叫staff的OU中

例2 根据帐号描述(description)来查用户帐号

我们公司会将用户的工号放在用户描述中,常常需要通过工号来查用户帐号。可以用命令:

C:\WINDOWS>dsquery user -desc *00527*

"CN=david,OU=staff,DC=domain,DC=com"

这里就是查询description中含有00527的用户帐号DN,通配符*放在00527的前后各一个,说明只要中间含有00527即满足条件。

例3 根据状态查计算机帐号(不再激活n周的计算机帐号)

C:\WINDOWS>dsquery computer -inactive 7

"CN=computer01,OU=workstations,DC=domain,DC=com"
-inactive #后面的7说明7周

例4 根据禁用状态查用户帐号

C:\WINDOWS>dsquery user -disabled

"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"
"CN=david,OU=staff,DC=domain,DC=com"
-disabled #参数用来查被禁用的用户帐号

例5 查指定域下被禁用的帐号中名字中含有gp的

C:\WINDOWS>dsquery user -disabled -name gp* -d domain.com

"CN=gp01,OU=staff,DC=domain,DC=com"
"CN=gp02,OU=staff,DC=domain,DC=com"
-d #后面跟指定的域名

讲到这里大家有没有注意到,虽然dsquery是一个好命令,但是单独使用的时候返回的结果看起来很晕。因为返回的结果都是以DN形式存在的。

要想看的更加清楚,怎么办?比如我想返回的结果包括一个简单的用户帐号名和该帐号的描述。

dsget命令闪亮登场。

dsget命令可

例6 返回某个用户的用户帐号名和描述(查名字中含有gp的用户)

C:\WINDOWS>dsquery user -name gp* | dsget user -samid -desc
  • desc samid

  • Group Policy Test account gp01

  • Group Policy Test account no.2 gp02

  • dsget succeeded

    这里的samid就是Windows下的传统用户名。desc列下的就是描述

    例7 作为例6的进一步,我们加上一个参数,用来列出帐号是否被禁用

    C:\WINDOWS>dsquery user -name gp* | dsget user -samid -desc -disabled
  • desc samid disabled

  • Group Policy Test account gp01 yes

  • Group Policy Test account no.2 gp02 yes

  • dsget succeeded

  • -disabled#列出是否禁用的状态,yes表示该帐号已经被禁用,no表示未禁用。

    例8 查某个用户组(查名字中含有cap字符串的所有Group)

    C:\WINDOWS>dsquery group -name *cap* -d domain.com | dsget group -samid -secgrp -scope
  • samid scope secgrp

  • WG_CAP universal yes

  • DCApps global yes

  • dsget succeeded

  • -secgrp #判断是否security group,若No则为Distribution Group

  • -scope #显示是Domain Local组,Global组或者universal组

  • -samid #显示组名

    例9 查域中的域控制器中哪台是GC(Global Catagory)服务器

    C:\WINDOWS>dsquery server -d domain.com | dsget server -dnsname -isgc
  • dnsname &n

  • bsp; isgc

  • CNDC01.domain.com yes

  • CNDC02.domain.com no

  • dsget succeeded

    例10 查FSMO角色服务器

    netdom query fsmo /d:[domainname]
    C:\WINDOWS>netdom query fsmo /d:domain.com
  • Schema owner CNDC01.domain.com

  • Domain role owner CNDC01.domain.com

  • PDC role CNDC01.domain.com

  • RID pool manager CNDC01.domain.com

  • Infrastructure owner CNDC02.domain.com

  • The command completed successfully.

    AD强制更新当你在配置新的安全策略后,原则上在工作站或服务器上,每90分钟更新一次安全性设置,而在域控制器则5分钟更新一次;初此之外,在没有任何更改的情况下,这些安全设置每16小时会更新一次。如果我们想要强迫更新,就需要强制更新命令 gpupdate /force (必需客户端更新命令,单服务器更新无效)

    gpupdate

    用法:

    gpupdate "/target:{computer| user}" "/force" "/wait:value" "/logoff" "/boot"

    参数说明:

  • /target:{computer| user : #只针对计算机设置或目前用户设置做更新,默认值是两者的设置都重新整理。

  • /force :#省略所有最佳化以及重新套用所有设置的进程动作。

  • /wait:value :#等待完成策略处理的秒数时间,默认是600秒,0代表不等待,而-1代表无限等待。

  • /logoff :#当安全性设置更新完成后登出系统。这是针对那些组策略客户端的扩充,它是在用户登陆时做处理,例如:用户组策略软件安装以及文件夹重新导向,而不是在背景更新周期中作处理。然而,这个选项在不需要用户登出时,是无法发挥作用的。

  • /boot :# 当安全性设置重新整理后,计算机会重新启动。

  • /?:#显示指令的使用说明档。

  • UserPrincipalName:#指定要由客户端进行身份验证的服务的用户主体名称 (UPN)。一个用户帐户名(有时称为“用户登录名”)和一个域名(标识用户帐户所在的域),这是登录到Windows域的标准用法。格式是: xiaowen@azureyun.com (类电子邮件地址)。

  • SamAccountName:#在AD属性AMAccountName中,存储帐户登录名或用户对象,实际上是命名符号“Domain\LogonName ”中使用的旧NetBIOS表单,该属性是域用户对象的必需属性;而SAMAccountName应始终与UPN主体名称保持一致,即SAMAccountName必须等于属性“UserPrincipalName” 的前缀部分。

发布时间: