コンテキスト: すべてのVMのリストを取得するためのAPIを作成し、ifループを使用してフィルタを適用して、値が$MachineList
のVMのみを返すようにします。文字列が文字列のリストにあるかどうかをチェック
サーバのリストは、2つに分割されている:SRV-1、SRV-2、SRV-B-1、SRV-B-2、SRV-C-:
- 1セット1、tst-b-2、tst-c-1、tst-c-1、tst-c-2、tst-b-1、tst-c-2などが挙げられる。 2、など
これはスクリプトです:
$EnvironmentList = "Environments-4" -or "Environments-5" -or "Environments-41" -or "Environments-61"
$MachineList = "srv-a*" -or "srv-b*" -or "srv-c*" -or "srv-d*" -or "srv-e*" -or "srv-f*" -or "srv-g*" -or "srv-h*" -or" srv-i*" -or "srv-j*" -or "srv-k*" -or "srv-l*"
function CheckService {
$MachinesRequest = (Invoke-WebRequest -Method Get -Headers @{"X-system-ApiKey"="Hashed-API-Key-Value"} -URI https://url-to-site.local/api/machines/all).Content | ConvertFrom-Json
foreach ($Machine in $MachinesRequest) {
if ($EnvironmentList -contains $Machine.EnvironmentIds) {
if ($MachineList -contains $Machine.Name) {
$Machine.Name
}
}
}
}
CheckService
私達はちょうどITEを返すようにしようとしていますマシンリストの値と一致するが、これはマシンの全リスト(srv *とtst *の両方)を返す。