如何使用Windows PowerShell控制活动目录
创始人
2024-07-16 10:40:56
0

我们在过去几个月学习了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项酷功能

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...