したがって、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