2

したがって、PowerShell に次のプロパティを持つオブジェクトがあります (これは、1 つの項目のみを含む JSON 表現です)。

        "NetworkResourcePermittedUsers": [
          {
            "PermittedUser": {
              "UserName": "somedomain\\someuser"
            },
            "SecurityAccessLevel": {
              "Level": "Read"
            },
            "SecurityAccessMode": {
              "Mode": "Allow"
            }
          }
        ]

私がやりたいことは、内のフィールドにNetworkResourcePermittedUsers基づいて配列をフィルタリングすることです。したがって、基本的には次のとおりです。LevelSecurityAccessLevelSecurityAccessLevel.Level

LINQ では次のようにします。

networkResourcePermittedUsers.Any(x => x.SecurityAccessLevel.Level.Equals("myvalue"))

PowerShell では、次のようなものを使用できることを知っています。

$networkResourcePermittedUsers -contains "value"

ただし、この場合、パラメーターは、値オブジェクト ( 、、など)で-contains構成される配列があることを前提としています。stringint

-containsパラメータを使用して複雑なオブジェクト グラフをフィルタリングする方法はありますか??

何かのようなもの:

#this is bad code -- doesn't work
$networkResourcePermittedUsers -contains "myvalue" -path SecurityAccessLevel.Level
4

1 に答える 1