Powershell 需要逗号将SamAccountName与组分开
我有这个脚本来提取以字母“m”开头的用户以及他们所属的组。脚本的结果是可以的,但我需要Powershell 需要逗号将SamAccountName与组分开,powershell,powershell-2.0,Powershell,Powershell 2.0,我有这个脚本来提取以字母“m”开头的用户以及他们所属的组。脚本的结果是可以的,但我需要SamAccountName和组在同一行上,并用逗号分隔,以便在Excel文件中更好地排列它。有什么建议吗 Import-Module activedirectory $file=".\atos_user_m.csv" foreach ($suser in (Get-ADUser -Filter {samaccountname -like "m*"})) { $user = $suser.SamAc
SamAccountName
和组在同一行上,并用逗号分隔,以便在Excel文件中更好地排列它。有什么建议吗
Import-Module activedirectory
$file=".\atos_user_m.csv"
foreach ($suser in (Get-ADUser -Filter {samaccountname -like "m*"})) {
$user = $suser.SamAccountName
echo "`r`n"$user"`r`n" | Out-File $file -Append
foreach ($group in (Get-ADPrincipalGroupMembership -Identity $user)) {
$group.SamAccountName | Out-File $file -Append
}
}
只需在组之前添加$user
import-module activedirectory
$file=".\atos_user_m.csv"
foreach ($suser in (get-aduser -filter {samaccountname -like "m*"})) {
$user = $suser.samaccountName
foreach ($group in (Get-ADPrincipalGroupMembership -Identity $user)) {
$user + ',' + $group.SamAccountName | out-file -filepath $file -append
}
}
如果希望给定用户的所有组与用户名位于同一行,可以执行以下操作:
foreach ($suser in (Get-ADUser -Filter {samaccountname -like "m*"})) {
$user = $suser.SamAccountName
$groups = Get-ADPrincipalGroupMembership -Identity $user |
Select-Object -Expand SamAccountName
'{0},{1}' -f $user, ($groups -join ',') | Out-File $file -Append
}
或者像这样(使用管道):
我试了第一个,这正是我需要的。谢谢你的帮助。
Get-ADUser -Filter {samaccountname -like "m*"} | ForEach-Object {
$groups = Get-ADPrincipalGroupMembership -Identity $_.SamAccountName |
Select-Object -Expand SamAccountName
'{0},{1}' -f $_.SamAccountName, ($groups -join ',')
} | Out-File $file