【发布时间】:2014-01-22 23:25:25
【问题描述】:
我正在寻找使用 Invoke-RestMethod 调用 API 的 PowerShell 脚本。下面是命令的输出。我希望只返回与运行 PowerShell 脚本的服务器的当前主机名匹配的行,然后从 id= 字段中获取数字并将其放入变量中。
任何帮助将不胜感激。
命令:
Invoke-RestMethod -Uri http://xxx.xxx.xxx.xxx/api/hosts -Headers @{"Authorization" = "Basic "+[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($username+":" +$password ))} -方法 GET
输出:
主机
@{name=dns01.aws.local; id=4;主机组 ID=3;操作系统 ID=3}
@{name=win-9d3nna26g9c.aws.local;身份证=56;主机组_id=5;操作系统id=2}
更新:
我越来越接近下面的命令将只返回带有计算机名称的行,并仅过滤名称和 ID。现在我只需要将该 id 值放入一个变量中,我无法弄清楚,任何帮助将不胜感激。
(Invoke-RestMethod -Uri http://xxx.xxx.xxx.xxx/api/hosts -Headers @{"Authorization" = "Basic "+[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($username+": "+$password ))}).host |选择对象名称,id | Where-对象名称 -Like "$env:COMPUTERNAME"
输出:
姓名ID
---- --
win-9d3nna26g9c.aws.ths 56
【问题讨论】:
标签: powershell-3.0