[PowerShell][JSON][Http] 透過PowerShell監控服務運行狀態

有一天有大量內部臨時啟用系統需要偵測服務狀態,由於數量太多因此考量是否能由程式代勞。
臨時系統有提供API來查詢系統狀況且回傳格式為JSON,那就寫一段PowerShell來試試。

首先透過Invoke-WebRequest可以取得系統狀況。
接者使用ConvertFrom-Json轉為Json,後續就可以判斷服務當前狀況。

範例程式如下:

#num 輸入機器數量
function CheckService($num) {

# 迴圈處理
for($i=1;$i -le ($num);$i++)
{
	Write-Host "編號:$($i)開始"
	# 準備網址
	$uri= "http:/XXX.XXX.XXX" + $i
		
	# Check
	$response = Invoke-WebRequest -Uri $uri
	$jsonObj = ConvertFrom-Json $([String]::new($response.Content))
	if($jsonObj.status -eq "red"){
		Write-Host jsonObj.status
	}
	Write-Host "----------------------------------------"
}

Write-Host "Check End"
}

相關文章:
[PowerShell][IIS]透過指令方式調整機碼,以開啟遠端管理作為範例
[PowerShell][Windows Server]使用PowerShell遠端連線Windows Server 2019並下指令

嘗試以自己的角度來整理並紀錄,也許會對一些人有幫助。

文章有錯、參考聯結有漏或是連結失效..等,還請幫忙告知,謝謝。
另外參考資料中有很多更棒的文章,建議多看看。