在以前,我们看过PowerShell如何用于管理Windows Server
2008 R2中的活动目录。这篇文章中,我们将提供一些微软命令的替代选择。
这些其它选择的好处是没有依赖性—当然,除了活动目录命令本身。这些命令由Quest软件和我自己的叫做BSonPosh的开源模块提供。
Quest确实是第一个进入活动目录领域的,从Windows
PowerShell早期开始,大概有四年时间,它也一直存在,所以这些命令很成熟。它们不依赖任何具体事物,而且当命令违背所有“活动目录”,它们还是能指定一个Quest活动角色服务器,这个服务器提供更高程度的目标管理和安全。抛开这些,它们和微软命令非常相似。
这些Quest命令的缺点是它们没有冒险进入基础架构管理领域,这也是我编写BSonPosh模块来弥补不足的原因。需要清楚的是,我这个模块的覆盖面远不只不止活动目录,不过活动目录基础架构管理的覆盖范围却是很棒的。
当我们没有时间或空间完成Quest和BSonPosh提供的整套命令集时,我们可以看看那些在两种管理中都很出色的命令。
注意:你可能注意到Quest命令有QAD的动词前缀。这让它们能和其它活动目录命令供应商和平共处。
目标管理(Quest)
Get-QADUser ——得到特定用户目标或搜寻与查询匹配的用户目标,例如:
#为BSonPosh域名解析不明确的用户获取用户名
Get-QADUser bsonposh
#获取有BSonPosh的经理级用户
Get-QADUser –Manager bsonposh
#获取运用LDAP过滤器的姓“Shell”的用户
Get-QADUser -LDAPFilter "(sn=shell)"
更多列举:
Get-help Get-QADUser –example
Get-QADComputer——获取特定电脑目标或搜寻匹配查询的电脑目标,例如:
#获取指定组织单元的所有电脑
Get-QADComputer -SearchRoot "OU=XenDesktop,DC=Dev,DC=Lab"
#获取有指定身份的所有电脑(如,成员、域控制器、未定义)
Get-QADComputer –ComputerRole DC
#发现所有Windows 7机器
Get-QADComputer –OSName "Windows 7*"
更多举例:
Get-help Get-QADComputer –example
Get-QADGroup——获取特定群组目标或搜寻匹配查询的群组目标,例如:
#列出所有通用群组
Get-QADGroup -GroupScope 'Universal'
#获取群组成员
Get-QADGroup "domain Admins" | select –ExpandProperty member
#获取群组成员的更简单方式
Get-ADGroupMember "Domain Admins"
#查找空群组
Get-QADGroup –empty $true
更多举例:
Get-help Get-QADGroup –example
基础架构管理(BSonPosh)
Get-Forest——返回当前目录林,例如:
#获取当前目录林
Get-Forest
#为特定域控制器获取目录林
Get-Forest –DomainController CoreDC
更多举例:
Get-help Get-Forest –example
Get-Domain —— 返回域目标,例如
# 获得当前域
Get-Domain
#获得特定域控制器的域
Get-Domain -DomainController CoreDC
更多举例:
Get-help Get-Domain –example
Get-Forest
Get-DomainController——返回与传送参数相匹配的域控制器目标,例如:
#获取当前用户会话的域控制器
Get-DomainController
#用特定名称(RegEx)获取域控制器
Get-DomainController -Filter "mydc(nyc|dr)\d">
#在指定域中返回所有域控制器
Get-DomainController –Domain Dev.Lab
更多举例:
Get-help Get-DomainController-example
Get-FSMO——返回目录林/域的操作主机,例如:
#返回目录林和域的所有灵活单主机操作
Get-FSMO
#只返回域灵活单主机操作
Get-FSMO –Domain
#只返回目录林灵活单主机操作
Get-FSMO –Forest
更多举例:
Get-help Get-FSMO –example>
下面是Quest活动目录模块提供的所有命令:
• Add-QADGroupMember
• Add-QADMemberOf
• Add-QADPasswordSettingsObjectAppliesTo
• Add-QADPermission
• Approve-QARSApprovalTask
• Connect-QADService
• Convert-QADAttributeValue
• Deprovision-QADUser
• Disable-QADUser
• Disconnect-QADService
• Enable-QADUser
• Get-QADComputer
• Get-QADGroup
• Get-QADGroupMember
• Get-QADMemberOf
• Get-QADObject
• Get-QADObjectSecurity
• Get-QADPasswordSettingsObject
• Get-QADPasswordSettingsObjectAppliesTo
• Get-QADPermission
• Get-QADPSSnapinSettings
• Get-QADRootDSE
• Get-QADUser
• Get-QARSAccessTemplate
• Get-QARSAccessTemplateLink
• Get-QARSApprovalTask
• Get-QARSOperation
• Move-QADObject
• New-QADGroup
• New-QADObject
• New-QADPasswordSettingsObject
• New-QADUser
• New-QARSAccessTemplateLink
• Reject-QARSApprovalTask
• Remove-QADGroupMember
• Remove-QADMemberOf
• Remove-QADObject
• Remove-QADPasswordSettingsObjectAppliesTo
• Remove-QADPermission
• Remove-QARSAccessTemplateLink
• Rename-QADObject
• Restore-QADDeletedObject
• Set-QADGroup
• Set-QADObject
• Set-QADObjectSecurity
• Set-QADPSSnapinSettings
• Set-QADUser
• Set-QARSAccessTemplateLink
• Unlock-QADUser
最后,下面列出BSonPosh模块中可发现的所以活动目录命令:
• ConvertTo-DistinguishedName
• ConvertTo-DNSName
• ConvertTo-Name
• ConvertTo-NetbiosName
• ConvertTo-Sid
• ConvertTo-UACFLag
• Get-ADACL
• Get-DCConnectionObject
• Get-Domain
• Get-DomainController
• Get-Forest
• Get-FSMO
• Get-Schema
• Get-SchemaClass
• Get-SchemaOID
• Get-SchemaProperty
• Get-SiteLink
• Get-Site
• New-ADACE
• Set-ADACL
通过Quest命令的在线帮助和BSonPosh的源代码,你会发现有更多为活动目录目标和基础架构管理运用在这些PowerShell命令之上。