首页 > 解决方案 > 使用 Switch 自动将用户添加到组。活动目录 Powershell

问题描述

我希望根据他们工作的分支机构和部门自动将新用户添加到他们所需的组中。我得到了这个工作,但我还想添加一些可选的子部门,用户可能会或可能不会分开,我只想添加属于这些子部门的任何用户被添加到包含所有组的最终数组用户需要分开。

因此用户将成为分支和部门的一部分,然后可以选择成为子部门的一部分。

我不知道该怎么做是如何切换这些子部门,使它们不是互斥的,即用户将有“客户经理”和“公司车辆”子部门,这些子部门每个都有几个将作为 $SubGroups 应用到末尾的组

基本上我希望子部门是可选的,但也可以一次选择多个,这样我之后的任何人都可以添加他们想要的任何东西,脚本不会中断

因此,例如,这些是子部门

最后的参考组通过将参考组(用户应该在的组)与用户当前所在的组进行比较来自动化组成员身份。然后根据需要添加/删除。我已经有了这部分,我只是把它从末端切掉,让它变小一点。

这是我到目前为止所拥有的:

$User = $_.user
$Department = $_.OrgDepartmentName
$Branch = $_.Branch
Switch ($Department) {
    Sales {
        $DepartmentGroups = @(
            "Sales Team"
        )
    }
    Services {
        $DepartmentGroups = @(
            "Services Team"
        )
    }
    Admin {
        $DepartmentGroups = @(
            "Admin Team"
        )
    }
}
Switch ($Branch) {
    Christchurch {
        $BranchGroups = @(
            "Christchurch Team",
            "Christchurch Admin"
        )
    }
    Auckland {
        $BranchGroups = @(
            " Auckland Team",
            " Auckland Admin"
        )
    }
    Wellington {
        $BranchGroups = @(
            "Wellington Team",
            "Wellington Admin"
        )
    }
    Dunedin {
        $BranchGroups = @(
            "Dunedin Team",
            "Dunedin Admin"
        )
    }
}
$AllCompanyGroups = @(
    "All Company"
    "All Staff"
)
$UserGroups = $AllCompanyGroups + $DepartmentGroups + $BranchGroups + $Subgroups
$UserGroups = $ReferenceGroups
$UserGroups

标签: powershellactive-directory

解决方案


我认为下面应该做你想做的事情。您仍然需要一种为 $Selection 生成项目的方法

 [System.Collections.ArrayList]$SubGroup = @()
 $Selection = "Account Managers", "Internal Sales Support"

 Switch ($Selection) {
    "Account Managers" {$SubGroup.Add("AMGroup1")
                        $SubGroup.Add("AMGroup2")}
    "Internal Sales Support" {$SubGroup.Add("Internal Sales Support")}
    "School Sales" {$SubGroup.Add("School Sales")}
    "Staff with a company Vehicle" {$SubGroup.Add("CarGroup1")
                                    $SubGroup.Add("CarGroup2")}
    }

 $SubGroup

推荐阅读