尝试通过在文本文件中包含组来运行1 ps脚本..
$groups = Get-Content c:\groups.txt {
foreach($Group in $Groups)
Get-ADGroupMember -identity "$groups" | select samaccountname,name "c:\test.txt" }
在foreach循环中缺少语句体。在行:3 char:1 +<<<< Get-ADGroupMember -identity" $ groups" |选择samaccountname,name>> " C:\ test.txt的" } + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException + FullyQualifiedErrorId:MissingForeachStatement
答案 0 :(得分:1)
您需要使用换行符分割输入文件。您可以将所有组管道输入单个“选择”以输出:
(Get-Content c:\groups.txt) -split '\n' | % {
Get-ADGroupMember -identity $_
} | select samaccountname,name | Out-File "c:\test.txt"
修改强> 这将使用计算属性,以便您可以捕获组名称:
(Get-Content c:\groups.txt) -split '\n' | % {
Get-ADGroupMember -identity $_ | select @{n="Group";e={$_}},samaccountname,name
} | Out-File "c:\test.txt"
如果您最终将输出转换为电子表格,您也可以考虑ConvertTo-Csv
。
答案 1 :(得分:0)
由于我不确定您要实现的目标,因此我对其进行了修改,以消除所有明显的错误。
Get-Content c:\groups.txt -OutVariable groups | foreach {
Get-ADGroupMember -identity $_ | select samaccountname,name |
out-file c:\test.txt -Append }