Powershell 循环附加文本文件

Powershell 循环附加文本文件

我正在尝试通过 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
  } 

相关内容