在以前,我们看过PowerShell如何用于管理Windows Server 2008 R2中的活动目录。这篇文章中,我们将提供一些微软命令的替代选择。
这些其它选择的好处是没有依赖性—当然,除了活动目录命令本身。这些命令由Quest软件和我自己的叫做BSonPosh的开源模块提供。
51CTO专题推荐:听专家讲述Windows活动目录 | Windows中的脚本技术-Powershell
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>
#p#下面是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命令之上。
【编辑推荐】