我正在尝试通过 powershell 获取 AD 中的组列表。我不太确定应该将 Out-File 放在哪里。我希望它从 csv 文件中读取并搜索包含该位置的组名称,然后将其输出到文件中并附加到每个位置的列表中,直到到达末尾。
这是我目前所拥有的
Import-Csv "C:\users\alex.piwowar.adm.j2global\desktop\GroupList.CSV" | Foreach-object{
$Location=$_."Location"
Get-ADGroup -Filter {name -like "*$Location*"} | Select name
} | Out-File c:\Group.txt -Append
当我运行它时,它会创建一个文本文件,但它是空白的。如果我只运行
Get-ADGroup -Filter {name -like "*$Location*"} | Select name
对于每个位置我都会得到结果,所以我知道问题出在 Out-File
答案1
我认为这是因为您在退出 For 循环后调用了 Out-File。因此将其放在 Foreach 循环内就足够了。
它看起来应该是这样的:
Import-Csv "C:\users\alex.piwowar.adm.j2global\desktop\GroupList.CSV" |Foreach-object{
$Location=$_."Location"
Get-ADGroup -Filter {name -like "*$Location*"} | Select name | Out-File c:\Group.txt -Append
}