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