powershell - 使用 Switch 自动将用户添加到组。活动目录 Powershell
问题描述
我希望根据他们工作的分支机构和部门自动将新用户添加到他们所需的组中。我得到了这个工作,但我还想添加一些可选的子部门,用户可能会或可能不会分开,我只想添加属于这些子部门的任何用户被添加到包含所有组的最终数组用户需要分开。
因此用户将成为分支和部门的一部分,然后可以选择成为子部门的一部分。
我不知道该怎么做是如何切换这些子部门,使它们不是互斥的,即用户将有“客户经理”和“公司车辆”子部门,这些子部门每个都有几个将作为 $SubGroups 应用到末尾的组
基本上我希望子部门是可选的,但也可以一次选择多个,这样我之后的任何人都可以添加他们想要的任何东西,脚本不会中断
因此,例如,这些是子部门
客户经理
内部销售支持
学校销售
有公司车辆的员工
远程访问
这些子部门中的每一个都有几个可以作为 $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
解决方案
我认为下面应该做你想做的事情。您仍然需要一种为 $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
推荐阅读
- druid - 如何在apache druid的摄取规范中获取具有最大时间戳的最后一个值?
- r - gsub() 对具有多个替换的数据框中的所有值
- autodesk-forge - OssContriller 无法将文件上传到 BIM 360
- ios - 如何通过 segue 将图像传递到新的视图控制器?
- apache-spark - Pyspark Streaming - 仅从 [window_start, window_end] 显示起始窗口
- c# - LINQ GroupBy 仅在键不为空时选择
- gnuplot - 如何使用 gnuplot 内联颜色列?
- list - Flutter - 参数类型“Iterable>”不能分配给类型“List”
- flutter - 在任何设备上灵活且大小合适的容器
- angular - 对 Angular 管道中的参数使用扩展运算符