powershell - 需要逗号将 SamAccountName 与组分开

标签 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.SamAccountName
    echo "`r`n"$user"`r`n" | Out-File $file -Append
    foreach ($group in (Get-ADPrincipalGroupMembership -Identity $user)) {
        $group.SamAccountName | Out-File $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

关于powershell - 需要逗号将 SamAccountName 与组分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32370788/

相关文章:

powershell - Powershell哈希表

xml - Powershell XML文件到 TableView

json - 如何避免与 "ConvertTo-Json"一起使用 powershell 2.0?

.net - Microsoft.SharePoint.PowerShell Snapin : Incorrect Windows PowerShell version 3. 0. 当前控制台支持 Window PowerShell 版本 2.0

PowerShell Tee-Object 不覆盖文件

powershell - 如何使用PowerShell 2.0远程安装(卸载)应用程序?

json - 在Powershell 2.0中读取JSON对象

PowerShell 2.0 以及如何处理异常?

powershell - Powershell中不带扩展名的文件输出

azure - 如何使用 PowerShell 跨 Azure 订阅列出资源组?