【发布时间】:2020-07-22 11:59:40
【问题描述】:
我正在尝试了解特定组中有多少具有特定头衔的人。
我的方法是:
- 我正在寻找具有特定头衔的用户。
- 我正在遍历这些用户并寻找他们所在的组
- 然后,我循环遍历每个组并尝试在该特定标题有新条目时添加 .csv 条目,如果列出了组,我试图增加计数器。
我认为我的方法很慢 - 每次我导出和导入 .csv 文件时,但我确信有一种方法可以处理导入的文件。
我还有一个奇怪的错误:导入 test.csv 时,我有 10 个条目而不是一个。如何解决?
我的代码:
clear
$Roles = Get-Content 'C:\Users\DWodzinski-admin\Documents\Titles.txt'
$Users = @()
Foreach ($Item in $Roles){
$Users += Get-ADUser -Filter {title -like $Item} -properties title, SamAccountName | Select SamAccountName, title
}
Foreach ($User in $Users){
$AdGroups = Get-ADPrincipalGroupMembership $User.SamAccountName | Select Name
foreach ($thing in $AdGroups) {
$name = $thing.name
$csv = Import-Csv "C:\Users\DWodzinski-admin\Documents\test.csv"
foreach($i in $csv){
if($i.Group -eq $name -and $i.Title -eq $User.title) {
$i.Count += 1
Export-CSV "C:\Users\DWodzinski-admin\Documents\test.csv" -NoTypeInformation
} else {
$NewCsvEntry = @{
Title = $User.title
Group = $name
Count = 0
}
[PSCustomObject]$NewCsvEntry | Export-CSV "C:\Users\DWodzinski-admin\Documents\test.csv" -NoTypeInformation -Append
}
$i
}
}
$csv | Export-CSV "C:\Users\DWodzinski-admin\Documents\test.csv" -NoTypeInformation -Append
}
【问题讨论】:
标签: powershell csv