【问题标题】:Is it possible to read out two groups in one command?是否可以在一个命令中读出两组?
【发布时间】:2019-04-04 06:26:07
【问题描述】:

我有一个脚本,它读取并保存 ADGroup 的用户并将其保存为 .csv,但我需要为 2 个具有相同属性的单独组执行此操作。有没有办法在一个 PowerShell 行中读出 2 个组?

我有它的工作代码,但它似乎不是一个好的解决方案

 Get-ADGroupmember  "Group1" | Get-ADUser|    
select GivenName,Surname,sAMAccountName
|Sort-Object Surname |
Export-Csv -Delimiter "`t" "myPath\dat.csv" 
-NoTypeInformation -Encoding     Unicode -Append

 Get-ADGroupmember  "Group2" | Get-ADUser|    
select GivenName,Surname,sAMAccountName
|Sort-Object Surname |
Export-Csv -Delimiter "`t" "myPath\dat.csv" 
-NoTypeInformation -Encoding     Unicode -Append

这工作得很好,但我想知道,如果我可以把它减少到一行代码。

感谢您提前回答!

【问题讨论】:

    标签: powershell export-to-csv


    【解决方案1】:

    目前,您有两个组的重复代码。我们可以简单地循环这些命令。 (% 是 Foreach-Object 的别名)

    "Group1", "Group2" | % { Get-ADGroupmember  $_ | Get-ADUser| select GivenName,Surname,sAMAccountName | Sort-Object Surname | Export-Csv -Delimiter "`t" "myPath\dat.csv" -NoTypeInformation -Encoding Unicode -Append }
    

    从技术上讲,它是一行...但不是很可读。我通常更喜欢使用更多的行和一些变量来使我的代码更易于阅读。

    $Groups = "Group1", "Group2"
    $path = "myPath\dat.csv"
    Foreach ($Group in $Groups) {
        Get-ADGroupmember $Group | Get-ADUser | Select-Object GivenName,Surname,sAMAccountName | Sort-Object Surname | Export-Csv -Delimiter "`t" $path -NoTypeInformation -Encoding Unicode -Append
    }
    

    【讨论】:

    • 谢谢,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2011-12-18
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多