uni*_*ife 6 variables powershell json
我正在开发一个项目,让基于 Windows 的机器运行预定的 powershell 脚本,该脚本将把主机状态作为 JSON 结构化数据文件发布。目标是让相同的脚本能够在任何 Windows 机器上运行,而无需为每个将放置脚本的服务器手动输入变量值,即主机名、IP 地址等。
$hn = hostname
$ip = ipconfig
echo $hn
echo $ip
$params = '{
"host": "$(hn)",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "$(ip)"
}'
Invoke-WebRequest -Uri http://yoursite.com:5550/ -Method POST -ContentType "application/json" -Body $params
#Invoke-RestMethod -Uri http://yoursite.com:5550/ -Method POST -ContentType "application/json" -Body $params
Run Code Online (Sandbox Code Playgroud)
我最终得到了以下输出的变化(注意主机名和 ip 变量保持不变):
HOSTNAME1
1.1.1.1
'{
"host": "$(hn)",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "$(ip)"
}'
Run Code Online (Sandbox Code Playgroud)
我希望输出如下所示:
HOSTNAME1
1.1.1.1
'{
"host": "HOSTNAME1",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "1.1.1.1"
}'
Run Code Online (Sandbox Code Playgroud)
我尝试了以下网站提到的建议:
我尝试了双引号和单引号的组合,并使用@{}、@'{,并附加到参数即“param + =”或“param =+”。没有运气的方法,或者我可能遗漏了一些东西。
我能够从转换为它们的 JSON 计数器部分的单个命令中获取详细信息,即
Get-WmiObject -Class Win32_ComputerSystem -Property Name | ConvertTo-Json
Run Code Online (Sandbox Code Playgroud)
但是我很难将两个不同的信息合并到一个 json 文件中。此外,我很难提取特定的信息并填充 json 文件,即
(Get-WmiObject -Class Win32_ComputerSystem -Property Name).Name | ConvertTo-Json
Run Code Online (Sandbox Code Playgroud)
如果我误用了任何术语或没有遵循任何发布指南,我深表歉意。如果我违反了任何条件,请告诉我,我将进行必要的更改以遵守这些条件。如果我不清楚或错过了任何重要信息,我深表歉意。在此先感谢您,非常感谢您的帮助。
您需要在 JSON 字符串中反转引号。单个撇号内的任何内容都不会被解析为包含可计算的内容。或者,作为替代方案,使用如下所示的 Here-String:
$params = @"
{
"host": "$hn",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
"ip": "$ip"
}
"@
Run Code Online (Sandbox Code Playgroud)
PS:获取 IP 地址应该(可能)以 Powershell 方式更好地完成:Get-NetIPAddress (params)| Select IPAddress
.
小智 5
你可以试试这个。
$params = '{
"host": "'+$hn+'",
"service": "APP_NAME",
"annotation": "Service is looking dope!",
“ip": "'+$ip+'"
}'
Run Code Online (Sandbox Code Playgroud)
这只是表明整个字符串拆分为多个部分并连接( +
) 变量,因为您使用的是单引号。此外,您可以在这里阅读:
MSDN About Quoting Rules
归档时间: |
|
查看次数: |
9151 次 |
最近记录: |