小编Eld*_*.Ob的帖子

检查哈希表数组是否包含哈希表

我正在使用 cmdlet 从 JSON 文件收集数据ConvertFrom-Json。到目前为止,这有效。JSON 包含哈希表数组。

[
    {
        "userSamAccountName":  "jodoe",
        "QuotaGroup":  "AD-Group-Contoso-1"
    },
    {
        "userSamAccountName":  "jodoe",
        "QuotaGroup":  "AD-Group-Contoso-2"
    },
    {
        "userSamAccountName":  "frmark",
        "QuotaGroup":  "AD-Group-Contoso-1"
    },
    {
        "userSamAccountName":  "frmark",
        "QuotaGroup":  "AD-Group-Contoso-2"
    }
]
Run Code Online (Sandbox Code Playgroud)

现在我有另一个包含一些重叠数据的哈希表数组。

[
    {
        "userSamAccountName":  "jodoe",
        "QuotaGroup":  "AD-Group-Contoso-1"
    },
    {
        "userSamAccountName":  "jodoe",
        "QuotaGroup":  "AD-Group-Contoso-2"
    },
    {
        "userSamAccountName":  "niwellenstein",
        "QuotaGroup":  "AD-Group-Contoso-1"
    },
    {
        "userSamAccountName":  "niwellenstein",
        "QuotaGroup":  "AD-Group-Contoso-2"
    }
]
Run Code Online (Sandbox Code Playgroud)

我想将它们组合起来而不重复。

我尝试了一些像select -Uniqueand这样的命令.Contains(),但它不像我希望的那样工作。

背景:我有一系列 AD 组。在此组中,用户只能成为一个组的成员 - 例如:jodoe 可以是 AD-Group-Contoso-1 或 AD-Group-Contoso-2 的成员,但不能同时是这两个组的成员。我需要报告他们。报告文件将由计划任务处理,并将其报告给管理员。第一个脚本每 20 分钟运行一次,处理第一个脚本中的报告文件的报告计划任务每​​天运行一次 …

arrays powershell json hashtable contains

2
推荐指数
1
解决办法
549
查看次数

Powershell RegEx 在字符串开头匹配负向后视

我目前正在研究 WSUS-Update 自动化,我想获取所有不以“(德语|英语)语言包”开头的更新。

这是我到目前为止得到的:

[regex]$reg = "(?<!German|English|English \(United States\)) Language Pack"
$LanguagePacks = $updates.Where({ $_.Title -match $reg })
Run Code Online (Sandbox Code Playgroud)

这有效,但我也得到了更新,例如:Windows Internet Explorer 9 Language Pack for Windows 7 for x64-based Systems

但我也想获得以下语法的更新:[Language] Language Pack eg Finnish Language Pack

所以我尝试使用 '^' 锚来确定字符串的开始

[regex]$reg = "^(?<!German|English|English \(United States\)) Language Pack"
$LanguagePacks = $updates.Where({ $_.Title -match $reg })
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,结果是空的:(

你有什么想法吗?

格雷茨·埃尔多

regex powershell regex-negation regex-lookarounds

2
推荐指数
1
解决办法
1830
查看次数