如何使用Windows PowerShell控制活动目录

系统 Windows
我们在过去几个月学习了WindowsPowerShell,但是从这个月我们决定跳过基础的部分,开始写一系列使用Powershell管理活动目录(AD)的文章。在这两篇文章中,我们将介绍不同的供应商他们提供的活动目录cmdlets以及它们是如何工作的。

我们在过去几个月学习了Windows PowerShell,但是从这个月我们决定跳过基础的部分,开始写一系列使用Powershell管理活动目录(AD)的文章。在这两篇文章中,我们将介绍不同的供应商他们提供的活动目录cmdlets以及它们是如何工作的。

在某种程度上,微软的活动目录是几乎所有管理员在工作中都需要用到的事物之一,他们从一个全面的AD管理到一个简单的AD使用者。无论你对AD的了解有多少,这里有为你所使用的Powershell cmdlet。这些cmdlet由两个主要的供应商所提供:微软和Quest software公司。

在我们开始集中深入讨论活动目录的powershell cmdlet之前,对于理解管理员在AD环境中经常遇到的不同的管理范围内容非常重要。这我们就可以分两个基本的类别:对象管理和基础设施管理。

随着对那些AD管理基础的理解,我们可以详细看一看微软活动目录cmdlet在Windows 7和2008 R2服务器的运作,其中包括运行它们的条件、工作原理和一些应用实例。

在我们直接埋头进入cmdlet之前,了解到使用Windows PowerShell管理活动目录必须具备的条件很重要。首先,你至少要有一个基于web 服务活动目录的域控制器(AD WS)或是管理网关服务活动目录的域控器(AD MGS)。这两种服务基本做同样的事情,唯一的区别是AD web服务在Windows 2008R2服务器上运行,而AD MGS是一种为Windows 2003和2008域控制器的更新服务。 因为活动目录cmdlets在使用AD WS或AD MGS与域进行交流,所以这是非常重要的。

其次,因为更新DC定位器过程发现AD Web服务并且没有移植到老客户端,所以您必须有Windows 7或windos 服务器2008 R2的客户端。

下面是活动目录PowerShell cmdlet查询流程:

[Client] cmdlet -> AD WS -> Query
DC -> AD WS -> cmdlet.

cmdlet或客户端使用它们自己的协议做域询问并发送询问到AD Web服务。 然后域控器(DC)制作反应通过AD Web服务发回到“客户”,并且这些信息都封装在网服务协议中。

当我们没有时间或空间覆盖微软提供的所有cmdlets时,我们可以看一看在一些活动目录管理类别的两个关键部分。

活动目录cmdlet的对象管理

Get-ADUser——得到一个具体用户对象或为匹配询问的用户对象做一次查询

例如:

#在sAMAccountName中得到一个bsonposh用户的账户
Get-ADUser bsonposh
#得到通过友好过滤器的所有用户
Get-ADUser -Filter "sn -eq 'shell'"
#得到通过LDAP过滤器的所有用户
Get-ADUser -LDAPFilter "(sn=shell)"

再例如:

Get-help Get-ADUser –example
Get-ADComputer ——得到一个具体计算机对象或做一次计算机对象匹配的查寻

例如:

# 得到给定OU中的所有计算机
Get-ADComputer -SearchBase "OU=XenDesktop,DC=Dev,DC=Lab"
-filter *
# 获取所有没有DNS后缀的计算机
Get-ADComputer -filter "dnsHostName -notlike
'*.dev.lab'"
# 查找登陆时间超过30天的计算机
$lastLogon = (get-date).adddays(-30).ToFileTime()
Get-ADComputer -filter {lastLogonTimestamp -gt
$lastLogon}

再例如:

Get-help Get-ADComputer -example
Get-ADGroup——得到一个具体组对象或做一次组对象匹配的查寻

例如:

# 列出普通组
Get-ADGroup -Filter {GroupScope -eq 'Universal'}
# 得到组成员
Get-ADGroup "domain Admins" -Properties member | select
-ExpandProperty member
# 如果您使用Get-ADGroupMember,查询更加容易
Get-ADGroupMember "Domain Admins"
# 查找空组
Get-ADGroup -Filter {Member -notlike '*'}

再例如:

Get-help Get-ADGroup -example

活动目录的基础设施cmdlets

Get-ADForest——返回当前林

例如:

# 得到当前林
Get-ADForest
# 得到当前用户所在林
Get-ADForest -Current LoggedOnUser
# 得到当前计算机所在林
Get-ADForest -Current LocalComputer

再例如:

Get-help Get-ADForest -example
Get-ADDomain – 返回到当前域

例如:

# 得到当前域
Get-ADDomain
# 得到一个具体的域
Get-ADDomain dev.lab
# 得到用户域
Get-ADDomain –Current LoggedOnUser

再例如:

Get-help Get-ADDomain -example
Get-ADDomainController ——退回匹配通过的参量域控制器对象

例如:

# 得到当前用户会话的域控器
Get-ADDomainController
# 得到只读的域控器
Get-ADDomainController -Filter {isReadOnly -eq $true}
#发现活动目录web服务的域控主机
Get-ADDomainController -Service ADWS –Discover

注意:以下参量要求并需要发现参量:Service, SiteName, DomainName, NextClosestSite, AvoidSelf和ForceDiscover

再例如:

Get-help Get-ADDomainController-example
Get-ADRootDSE——通过发现或被定义的服务器退回RootDSE。您可以将RootDSE作为入口点,提供目标或被发现的服务器驻留目录粗略的信息。

例如:

# 发现RootDSE
Get-ADRootDSE
# 在具体的服务器(DC)上得到RootDSE
Get-ADRootDSE –server Core.Dev.Lab

再例如:

Get-help Get-ADRootDSE -example

#p#下面列出了在活动目录模块下所有PowerShell cmdlet名单:

  • Add-ADComputerServiceAccount
  • Add-ADDomainControllerPasswordReplicationPolicy
  • Add-ADFineGrainedPasswordPolicySubject
  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Clear-ADAccountExpiration
  • Disable-ADAccount
  • Disable-ADOptionalFeature
  • Enable-ADAccount
  • Enable-ADOptionalFeature
  • Get-ADAccountAuthorizationGroup
  • Get-ADAccountResultantPasswordReplicationPolicy
  • Get-ADComputer
  • Get-ADComputerServiceAccount
  • Get-ADDefaultDomainPasswordPolicy
  • Get-ADDomain
  • Get-ADDomainController
  • Get-ADDomainControllerPasswordReplicationPolicy
  • Get-ADDomainControllerPasswordReplicationPolicyUsage
  • Get-ADFineGrainedPasswordPolicy
  • Get-ADFineGrainedPasswordPolicySubject
  • Get-ADForest
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADObject
  • Get-ADOptionalFeature
  • Get-ADOrganizationalUnit
  • Get-ADPrincipalGroupMembership
  • Get-ADRootDSE
  • Get-ADServiceAccount
  • Get-ADUser
  • Get-ADUserResultantPasswordPolicy
  • Install-ADServiceAccount

    Move-ADDirectoryServer

  • Move-ADDirectoryServerOperationMasterRole
  • Move-ADObject
  • New-ADComputer
  • New-ADFineGrainedPasswordPolicy
  • New-ADGroup
  • New-ADObject
  • New-ADOrganizationalUnit
  • New-ADServiceAccount
  • New-ADUser
  • Remove-ADComputer
  • Remove-ADComputerServiceAccount
  • Remove-ADDomainControllerPasswordReplicationPolicy
  • Remove-ADFineGrainedPasswordPolicy
  • Remove-ADFineGrainedPasswordPolicySubject
  • Remove-ADGroup
  • Remove-ADGroupMember
  • Remove-ADObject
  • Remove-ADOrganizationalUnit
  • Remove-ADPrincipalGroupMembership
  • Remove-ADServiceAccount
  • Remove-ADUser
  • Rename-ADObject
  • Reset-ADServiceAccountPassword
  • Restore-ADObject
  • Search-ADAccount
  • Set-ADAccountControl
  • Set-ADAccountExpiration
  • Set-ADAccountPassword
  • Set-ADComputer
  • Set-ADDefaultDomainPasswordPolicy
  • Set-ADDomain
  • Set-ADDomainMode
  • Set-ADFineGrainedPasswordPolicy
  • Set-ADForest
  • Set-ADForestMode
  • Set-ADGroup
  • Set-ADObject
  • Set-ADOrganizationalUnit
  • Set-ADServiceAccount
  • Set-ADUser
  • Uninstall-ADServiceAccount
  • Unlock-ADAccount

您能通过查阅活动目录PowerShell团队的博客找到更多关于AD cmdlet的信息。 下篇文章将介绍免费可用的Quest Active Directory cmdlet。 我将再次谈论cmdlet的运行条件及工作原理,然后提供些例子帮助您开始AD cmdlets的探索。

【编辑推荐】

  1. IIS服务器的Windows PowerShell 管理环境讲解
  2. 使用Windows PowerShell查看系统信硬件信息-1
  3. Windows PowerShell的12项酷功能

 

责任编辑:张浩 来源: 互联网
相关推荐

2011-01-05 10:30:42

活动目录Powershell

2011-07-15 13:35:52

Windows 200

2014-05-19 10:34:03

Windows Pow

2015-08-19 16:27:39

PowerShell更新Windows Def

2017-09-12 14:46:54

2012-02-01 10:32:07

PowerShellWindows 7

2012-01-16 09:18:08

虚拟化桌面虚拟化PowerShell

2011-08-01 16:59:27

活动目录域控制器

2011-07-15 09:01:00

2011-07-12 16:22:31

活动目录

2009-05-07 09:56:46

PowerShellWinForm微软

2013-03-21 11:09:40

Windows Ser云部署

2009-02-19 17:01:35

Windows 200数据挖掘活动目录

2011-07-15 10:20:34

活动目录

2011-05-11 15:02:04

系统工具

2016-10-13 08:55:20

Windows 10PowerShelll批量

2013-11-25 13:41:48

2011-07-27 10:30:21

活动目录

2017-02-17 09:50:49

Windows 10PowerShell局域网

2021-09-13 09:23:38

Whisker攻击账号
点赞
收藏

51CTO技术栈公众号