【问题标题】:How to add various groups to the computers in OU?OU中的计算机如何添加各种组?
【发布时间】:2013-11-20 16:31:50
【问题描述】:

我需要将各种应用程序组添加到 OU 中的计算机,稍后将推出。在AD中,我去OU,右键单击相应的计算机并单击属性,然后转到“成员”选项卡,然后添加各个组。

如何使用 PowerShell 自动执行这些步骤,以便将这些组应用于该 OU 中的所有计算机?

【问题讨论】:

标签: powershell active-directory active-directory-group


【解决方案1】:
import-module ActiveDirectory

$allComputers = @()
$ADgroup = "Computer Policy Application Group"

$theOU = [ADSI]"LDAP://OU=AnOU,DC=some,DC=test,DC=com"
foreach ($item in $theOU.psbase.Children) { 
    if ($item.ObjectCategory -like '*computer*') {
        $allComputers += $item.Name
    }
}

foreach ($pc in $allComputers) {
    Add-ADGroupMember $ADgroup $pc
}

当然,您可以添加更多组,或者设置一组组并在添加时迭代它...如果计算机已经是组的一部分,这将引发很多错误,顺便说一句.

【讨论】:

    【解决方案2】:

    如果您使用的是 server2008 或更新版本(或安装了所需的组件),这是我找到的最简单的解决方案。

    $groupList=@("group1","group2","group3")
    foreach ($Comp in (Get-AdComputer -server $ADServer -searchBase "OU=computers,DC=company,DC=com" -searchscope oneLevel")) {
        foreach ($Group in $groupList) { Add-ADGroupMember -Identity $Group -Members $Comp -Server $ADServer }
    }
    

    确保使用您希望添加的组的 samaccountnames 数组填充 $groupList 变量,并将“OU=computers,DC=company,DC=com”替换为包含您希望添加权限的计算机。

    【讨论】:

      【解决方案3】:

      使用 ActiveDirectory 模块,您可以使用 Add-ADPrincipalGroupMember 或 Add-ADGroupMember。

      前者“将成员添加到一个或多个 Active Directory 组”,而后者“将一个或多个成员添加到 Active Directory 组”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多