我正在尝试编写一个简单的PS行来获取我们设置的特定“区域”的AD组的导出.csv,然后采用GroupScope(通用与全局),并根据范围group,将“department”属性写为“Universal”或“Global”。这样做的原因是帮助识别SharePoint中的两个范围。
$uni="Universal"
Import-csv \\usershare\user\me\output\groups.csv | foreach {Get-ADGroup -Identity $_.Name -Properties * | Set-ADGroup if($_.GroupScope -eq $uni){-replace @{department=$uni}}}
这会返回以下错误消息: “无法找到接受参数'True。'的位置参数。”
我可能在这里错过了一些简单的东西,但我刚刚开始,我主要通过反复试验来自我教学。感谢您提供的任何帮助!
答案 0 :(得分:0)
你使用的if块对你要完成的任务无效,它只会返回True或False,而Set-ADGroup将不知道如何处理错误。
试试这个:
$uni="Universal"
$csv = Import-Csv -Path '\\usershare\user\me\output\groups.csv'
foreach($i in $csv)
{
if($i.GroupScope -eq $uni)
{
Get-ADGroup -Identity $i.Name -Properties 'department' |
Set-ADGroup -Replace @{department=$uni}
}
}
我将属性设置为仅拉取部门,因为较小的范围会加快查询速度。