gpt4 book ai didi

powershell - 从许可证阵列中删除重复项

转载 作者:行者123 更新时间:2023-12-03 01:19:13 30 4
gpt4 key购买 nike

我在从阵列中删除重复项时遇到问题。

$DataSheet = Import-Csv C:\Temp\Groups.CSV
$LicenseData = @()

foreach ($Group in $DataSheet) {
$GroupMembership = Get-ADGroupMember $Group.Name | Select SamAccountName
foreach ($Member in $GroupMembership) {
$LicenseInfo = "" | Select "ID","GroupName","EngineLicense","UserLicense"
$LicenseInfo.ID = $Member.SamAccountName
$LicenseInfo.GroupName = $Group.Name
$LicenseInfo.EngineLicense = $Group.EngineLicense
$LicenseInfo.UserLicense = $Group.UserLicense
$LicenseData += $LicenseInfo
}
}

$LicenseData | Sort-Object ID |
Export-Csv C:\Temp\LicenseData.CSV -NoTypeInformation -Force
$EngineLicense = $LicenseData | Group -Property $EngineLicense |
ForEach {$_.Group | Sort-Object EngineLicense -Unique} |
Select EngineLicense, ID |
Sort-Object EngineLicense
$UserLicense = $LicenseData | Group -Property $UserLicense |
ForEach {$_.Group | Sort-Object UserLicense -Unique} |
Select UserLicense, ID |
Sort-Object UserLicense

这是 $LicenseData的示例

ID GroupName EngineLicense用户许可证
---------- ------------- -----------
TestUser1 A组移动专业人员
TestUser1组B ERQA ERQA
TestUser1组B ERQA ERQA
TestUser2 A组移动专业人员
TestUser2 B组ERQA ERQA
$EngineLicense看起来像

EngineLicense ID
--------------
ERQA TestUser1
移动TestUser1

我想做的是显示每个用户使用的许可证,但删除一个用户的重复许可证。当前, -Unique正在删除重复的引擎许可证。

理想情况下,这就是我设想的样子。请注意,这显示了两个用户都使用的许可证,并删除了TestUser1的重复ERQA条目。

EngineLicense ID
--------------
ERQA TestUser1
移动TestUser1
ERQA TestUser2
移动TestUser2

最佳答案

除非我误会了某些内容,否则以下内容应会产生预期的结果:

$LicenseData | Select-Object -Unique EngineLicense, ID |
Sort-Object ID, EngineLicense

关于powershell - 从许可证阵列中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20061950/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com