总而言之,多亏了quesiton Edit a script I found to import a list of adusers, grab their info and export back to another csv中的解决方案,我才能想出以下脚本。该脚本从csv文件中提取用户名,连接到ad,并将用户组导出到不同的csv。这部分工作得很完美。这就是我遇到问题的地方。每个用户名/组都放在一个新的行中。这是完美的,除了多个组中的用户。举个例子
ColA ColB
User Group
bob admin
jeff domain admin
jeff test admin
jeff power user 我想要做的是想出一种以以下格式导出的方法
ColA ColB ColC ColD
User Group Group Group
bob admin
jeff domian admin test admin power user 这是我的脚本
Begin {
Try { Import-Module ActiveDirectory -ErrorAction Stop }
Catch { Write-Host "Unable to load Active Directory module, is RSAT installed?"; Break }
}
Process {
$UserList=Get-Content C:\Userlist.csv
$users = ForEach ($U in $UserList)
{ $UN = Get-ADUser $U -Properties MemberOf
$Groups = ForEach ($Group in ($UN.MemberOf))
{ (Get-ADGroup $Group).Name
}
$Groups = $Groups | Sort
ForEach ($Group in $Groups)
{ New-Object PSObject -Property @{
Name = $UN.Name
Group = $Group
}
}
}
$users | export-csv "c:\grouptest.csv" -append
} 这可以做到吗?
发布于 2014-03-28 22:00:47
除非我误解了你的目标,否则你只需要替换这个:
ForEach ($Group in $Groups)
{ New-Object PSObject -Property @{
Name = $UN.Name
Group = $Group
}
}有了这个:
New-Object PSObject -Property @{
Name = $UN.Name
Group = $Groups
}https://stackoverflow.com/questions/22714702
复制相似问题