Get-Content仅输出最后一行:如何让脚本输出每个AD组?
问题分析与修复
原脚本存在两个关键问题导致仅输出最后一个AD组:
- 循环内调用
Get-ADGroup时,错误使用了整个数组变量$ADs而非当前循环的单个组名变量$AD - 每次循环都将结果赋值给
$ADGroup变量,会覆盖之前的结果,最终只保留最后一次循环的输出
修复后的脚本(直接逐个输出)
$ADs = Get-Content -Path C:\Users\username\Documents\EditADGroupNotes.txt foreach ($AD in $ADs){ # 使用当前循环的单个组名$AD,而非整个数组$ADs Get-ADGroup -Identity $AD | Select-Object name }
可选:收集所有结果后统一输出
如果需要将所有AD组信息保存到变量后续使用,可以改为数组收集:
$ADs = Get-Content -Path C:\Users\username\Documents\EditADGroupNotes.txt $ADGroups = @() # 初始化空数组 foreach ($AD in $ADs){ $group = Get-ADGroup -Identity $AD | Select-Object name $ADGroups += $group # 将每个组添加到数组 } # 输出所有结果 $ADGroups
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

