在powershell脚本中消除数组中的重复项

3 powershell

在此处输入图像描述我导入了一个 CSV,其中有两个组和组成员显示在它们之前。两个组中都有重复的成员,例如: A 组:

约翰·哈里·伯克

  1. 约翰
  2. 汤姆
  3. 希尔顿

B组:

  1. 约翰
  2. 路易丝

(约翰重复了),所以我做了下面的代码来将所有组成员添加到一个数组中,然后打印它们中的唯一成员,但它不起作用。数组有重复的名称

    $Global:grpmember = @()
    $CSV=Import-Csv -Path "C:\Temp\LicenseCount\Names.csv" -delimiter ","
    $csv | % {
    $grpmember+= $_.GroupMembers
    Write-Host "I am executed"
    }
    $grpmember | Get-Unique -AsString
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Lak*_*nde 8

Get-Unique应该在这里工作。但它需要一个已排序的数组,而您的输入未排序。

还有一些其他选择。假设你有一个数组,比如:

$array = @('a', 'b', 'c', 'a')
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您可以使用select -uniqsort -uniq从上面的数组中删除重复项。

$array= $array | select -uniq
# or
$array= $array | sort -uniq
Run Code Online (Sandbox Code Playgroud)