同时确定多台 PC 的 AD 组成员身份

问题描述 投票:0回答:1

我的目标是能够快速比较应用于多台电脑的组成员资格,以确认它们都是完全相同的组的成员。

首先,我很抱歉,因为我对 PowerShell 的经验非常有限,并且可能有一个非常简单的解决方案来解决我的问题。

我只是通过将它们表示为变量来定义我的电脑:

$Computers = "pc1", "pc2", "pc3" 

然后我将它们通过管道传输到另一个命令中:

$computers | Get-ADPrincipalGroupMembership 

虽然这确实返回所有 PC 所属的所有组,但输出仅列出组,而不列出哪些 PC 属于哪些组。如前所述,我希望能够单独看到每台电脑的组成员身份。

我真诚地感谢您提供的任何建议!

powershell active-directory
1个回答
0
投票

您可以做的是循环遍历阵列中的每台计算机,并针对每台计算机循环遍历其所属的组。 接下来,输出具有计算机名称和组的对象(每组一个项目)。

为了稍后进行比较,我建议您将结果另存为 CSV 文件,您可以双击在 Excel 中打开。

$Computers = "pc1", "pc2", "pc3" 
$computers | ForEach-Object {
    foreach ($group in (Get-ADPrincipalGroupMembership -Identity $_)) {
        [PsCustomObject] @{
            ComputerName = $_
            Group        = $group.Name
        }
    }
} | Export-Csv -Path 'X:\Somewhere\ComputerGroupMembers.csv' -NoTypeInformation -UseCulture
© www.soinside.com 2019 - 2024. All rights reserved.