我的csv在彼此下面有多个职位,就像这样:
Job title 1
Job title 2
Job title 3
我现在需要的是导出具有该职位名称的用户的组成员身份,例如,一个职位名称为1的人具有几个组成员身份。我需要csv中的那些组成员身份。是否有可能对我的整个csv自动做到这一点,因为它一一完成所有职位?
我有这个:
Get-ADUser -Filter {title -Like "Medior Functioneel beheerder"} | Get-ADPrincipalGroupMembership | select name
我如何获得它,所以它只能进行一次匹配,因为我们有多个具有相同职务的用户,但我只需要一个用户。以及如何将其导出到csv最好在一行上。每个职位。
答案 0 :(得分:0)
我会这样处理:
memberOf
值检索所有用户$csv = @'
Title
Job title 1
Job title 2
Job title 3
'@ |ConvertFrom-Csv # you'd use `Import-Csv` here instead
$result = foreach($row in $csv){
# Fetch all relevant users with their `memberOf` attribute value
$Users = Get-ADUser -Filter "title -eq '$($row.Title)'" -Properties memberOf
# Select all distinct memberOf values
$Memberships = $Users.memberOf |Sort -Unique
# Resolve the group names
$GroupNames = ($Memberships |Get-ADGroup).Name
# Output custom object
[pscustomobject]@{
Title = $row.Title
Groups = $GroupNames -join ';'
}
}
# output to CSV
$result |Export-Csv -Path .\output.csv