在powershell脚本中消除阵列中的重复项
我导入了一个CSV,它有两个组和组成员显示在它们前面。两个组中都有重复的成员,如: A组: 约翰·哈里·伯克在powershell脚本中消除阵列中的重复项,powershell,Powershell,我导入了一个CSV,它有两个组和组成员显示在它们前面。两个组中都有重复的成员,如: A组: 约翰·哈里·伯克 约翰 汤姆 希尔顿酒店 B组: 约翰 路易丝 (约翰重复了一遍), 因此,我使用下面的代码将所有组成员添加到一个数组中,然后从中打印唯一的组成员,但它不起作用 $Global:grpmember = @() $CSV=Import-Csv -Path "C:\Temp\LicenseCount\Names.csv" -delimiter "," $csv | %
$Global:grpmember = @()
$CSV=Import-Csv -Path "C:\Temp\LicenseCount\Names.csv" -delimiter ","
$csv | % {
$grpmember+= $_.GroupMembers
Write-Host "I am executed"
}
$grpmember | Get-Unique -AsString
在此处输入图像描述应在此处工作。但它需要一个排序数组,而您的输入没有排序
还有其他一些选择。假设您有一个数组,比如:
$array = @('a', 'b', 'c', 'a')
在这种情况下,可以使用select-uniq
或sort-uniq
从上述数组中删除重复项
$array= $array | select -uniq
# or
$array= $array | sort -uniq
应该在这里工作。但它需要一个排序数组,而您的输入没有排序
还有其他一些选择。假设您有一个数组,比如:
$array = @('a', 'b', 'c', 'a')
在这种情况下,可以使用select-uniq
或sort-uniq
从上述数组中删除重复项
$array= $array | select -uniq
# or
$array= $array | sort -uniq
$Global:grpmember=@()$CSV=Import CSV-Path“C:\Temp\LicenseCount\Names.CSV”-delimiter“,”| Sort-Unique$CSV |%{$grpmember+=$|.GroupMembers Write Host“I am executed”}$grpmember | Get Unique-AsStringThis仅为1个组运行,忽略CSV中的其他组您的CSV格式不正确吗?区分大小写呢?你能在问题中粘贴csv文件吗?我不理解csv的结构。我将“应用程序名”、“组名”、“组用户”作为标题。应用程序名相同,但有两个组-A01管理员、A01用户。然后,组成员将显示在他们面前$Global:grpmember=@()$CSV=Import CSV-Path“C:\Temp\LicenseCount\Names.CSV”-delimiter“,“| Sort-Unique$CSV |%{$grpmember+=$。\GroupMembers写入主机“I am executed”}$grpmember |获取唯一-Asstring此选项仅针对1个组运行,而忽略csvis中的其他组您的csv格式是否错误?区分大小写呢?你能在问题中粘贴csv文件吗?我不理解csv的结构。我将“应用程序名”、“组名”、“组用户”作为标题。应用程序名相同,但有两个组-A01管理员、A01用户。然后,组成员显示在他们前面。您的问题不作为
计算。CSV
文件不支持换行(从粘贴中可以看到:所有名称都用一个空格连接),我确信如果您将此.CSV
导入到应用程序(或Excel)中您会发现所有名称都用一个空格连接。如果无法区分空间名/姓和每个全名,您希望如何区分名称?我认为你需要忘记.CVS
文件,然后退一步,比如模块。有什么解决办法吗?我必须组合两个组的成员(1个应用程序的一部分),然后从中提取唯一的成员,以计算许可证数。。。。由于在不同的组中重复同一用户的名称,许可证的计数也在重复,这取决于源应用程序(屏幕截图来自哪里)是否可以导出到CSV文件之外的其他文件,或者是否可以使用类似的内容转义换行符`r`n..
或..\r\n..
您的问题不计算为。CSV
文件不支持换行符(从粘贴中可以看出:所有名称都用一个空格连接),我确信如果您将此.CSV
导入到应用程序(或Excel)中您会发现所有名称都用一个空格连接。如果无法区分空间名/姓和每个全名,您希望如何区分名称?我认为你需要忘记.CVS
文件,然后退一步,比如模块。有什么解决办法吗?我必须组合两个组的成员(1个应用程序的一部分),然后从中提取唯一的成员,以计算许可证数。。。。由于在不同的组中重复同一用户的名称,许可证的计数也在重复,这取决于源应用程序(屏幕截图来自哪里)是否可以导出到CSV文件之外的其他文件,或者是否可以使用类似的内容转义换行符`r`n.
或。\r\n.