Powershell AD组成员查询

Powershell AD组成员查询,powershell,csv,Powershell,Csv,PS有点麻烦,我需要输出一个CSV文件,其中包含: GroupName Username Email 我需要这样做的2个特定组在广告和输出到1个CSV文件。 我的问题是,我可以单独完成,尽管我从未在输出中获得实际的组名,因此这两个组有两个单独的文件,只是没有放入一个文件中 这就是我正在运行的: import-module ActiveDirectory ## Variables $Admin = Get-ADGroupMember -identity [grp_name] |

PS有点麻烦,我需要输出一个CSV文件,其中包含:

GroupName   Username      Email
我需要这样做的2个特定组在广告和输出到1个CSV文件。 我的问题是,我可以单独完成,尽管我从未在输出中获得实际的组名,因此这两个组有两个单独的文件,只是没有放入一个文件中

这就是我正在运行的:

import-module ActiveDirectory

## Variables

$Admin = Get-ADGroupMember -identity [grp_name] | Get-ADUser -properties Mail | Select sAMAccountName, Mail
$Contrib = Get-ADGroupMember -identity [grp_name] | Get-ADUser -properties Mail | Select sAMAccountName, Mail

## ======================================
## Output

$Contrib | Export-CSV C:\Temp\[grp_name].csv
$Admin | Export-CSV C:\Temp\[grp_name].csv

任何帮助都将不胜感激。

我认为在你想做的管道方面,你不能从广告组一开始就传递名称。为了理解,我拆分/重写了代码


谢谢,这在一定程度上是可行的,但我没有电子邮件地址,这就是我使用Get ADUser-Properties邮件字符串的原因。解决方法,但我认为没有那么快;:$obj_Propertys.Email=Get ADUser-Identity$obj_ADUser.sAMAccountName.EmailErm。我现在收到电子邮件的输出,但它是Microsoft.ActiveDirectory.Management.ADPropertyValueCollection
#Specifiy all ad groups you want in this arrays
[ARRAY]$arr_ADGroups = @("Group1","Group2","Group3")

#Set the output path for the csv
[STRING]$str_CSVPath = "C:\Temp\Testfile.csv"

#Import the modul
Import-Module -Name ActiveDirectory

#For each ad group
Foreach ($str_ADGroup in $arr_ADGroups) {

    #Foreach user in the ad group
    Foreach ($obj_ADUser in Get-ADGroupMember -Identity $str_ADGroup) {

        #Cretae an object with the propertys you need
        $obj_Propertys = "" | Select-Object -Property GroupName, Username, Email

        #Set the propertys
        $obj_Propertys.GroupName = $str_ADGroup
        $obj_Propertys.Username = $obj_ADUser.sAMAccountName
        $obj_Propertys.Email = $obj_ADUser.Mail

        #Export to csv --> -Append works only V3.0 or higher
        $obj_Propertys | Export-Csv -Path $str_CSVPath -Append
    }
}