【问题标题】:How to pipe "member of" to csv in Powershell如何在 Powershell 中将“成员”通过管道传输到 csv
【发布时间】:2014-07-08 01:09:59
【问题描述】:

我正在尝试获取有关所选用户所属组的信息列表。我之前在这里找到了一个似乎有用的脚本:

    Get-ADUser -SearchBase "OU=Users,DC=Domain,DC=Local" -Filter *  |  foreach-object {
        write-host "User:" $_.Name -foreground green
        Get-ADPrincipalGroupMembership $_.SamAccountName |  foreach-object {
        write-host "Member Of:" $_.name
        } 
    }

但是,这个脚本并没有完成这项工作。我需要获取从此脚本收集的数据并导出到 CSV。我试图通过脚本(最后一个大括号、倒数第二个大括号和大括号之前)在不同的地方传输 Export-Csv,但没有成功。

还有其他想法吗?我尝试了另一个我写的脚本:

Get-ADPrincipalGroupMembership -Filter * -SearchBase "OU=Users,DC=Domain,DC=Local"
-Properties name,SamAccountName | select name,SamAccountName | Export-Csv "C:\Path.csv"

还有这个

    Get-ADUser -Filter * -SearchBase "OU=Users,DC=Domain,DC=Local" -Properties name,SamAccountName | select name,SamAccountName | Export-Csv "C:\Path.csv"

都没有成功。

【问题讨论】:

    标签: powershell csv active-directory activedirectorymembership


    【解决方案1】:

    我不确定您打算如何格式化最终的 CSV。在第一个代码中,您使用的是“write-host”,它只会将该内容写入屏幕。您可能希望将其中的每一个都手动导入到 csv 中。此处使用您的代码就是一个示例。

    "`"User`",`"Group`"" | out-file export.csv
    
        Get-ADUser -SearchBase "CN=Users,DC=domain,DC=local" -Filter *  |  foreach-object {
            write-host "User:" $_.Name -foreground green
            $u = $_.samaccountName
            Get-ADPrincipalGroupMembership $_.SamAccountName |  foreach-object {
            write-host "Member Of:" $_.name
            $g = $_.name
            "`"$u`",`"$g`"" | out-file export.csv -append
            } 
        }
    

    【讨论】:

    • 正是我需要的。我稍微调整了格式。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多