我在使用PowerShell从API查询返回特定数据时遇到问题。我正在做一个简单的API调用来吸引一个运行良好的用户。
$Response = Invoke-RestMethod -uri $uri -Method GET -Headers $Headers
$Response
该调用返回以下内容。
Total Sum Users Groups
----- ----- ----- ------
1 1 @{123456789=} @{Test Users=System.Object[]; Global Users=System.Object[]...
$ Response.Users返回以下内容
123456789
---------
@{name= Test Case; fullname=Test Tester Case; office=Area 51;....
问题是数字“ 123456789”是每个用户都会更改的唯一标识符。为了从每个用户那里获取所需的数据,我需要能够解析并仅获取该数字。
这是$ Response.Users的JSON输出
{
"123456789": {
"name": "Test Case",
"fullname": "Tester Test Case",
"office": "Area 51",
"country": "United States",
"groups": [
"Test Users",
"Global Users",
"Test OU"
]
}
}
任何帮助是极大的赞赏!
谢谢
您可以使用默认的powershell属性访问note属性PsObject
的名称并检索它的名称:
$json =
@'
{
"123456789": {
"name": "Test Case",
"fullname": "Tester Test Case",
"office": "Area 51",
"country": "United States",
"groups": [
"Test Users",
"Global Users",
"Test OU"
]
}
}
'@
$json | ConvertFrom-Json | ForEach-Object {$_.PsObject.Properties.Name}
或您的情况:
$Response.Users | ConvertFrom-Json | ForEach-Object {$_.PsObject.Properties.Name}
应该做的把戏;-)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句