我的任務是在 Powershell 中創建一個 API 腳本,該腳本將獲取記錄,將一個引數更改為 A 或 B(交替),將記錄寫回,然后移至下一條記錄。我無法讓我的咖啡因剝奪大腦解決的部分是如何進行交替。它基本上只需要來回走動,所以大約 50% 得到 A,50% 得到 B。關于如何實作這一點的任何想法?我覺得這應該很簡單,但我現在無法弄清楚。
$APIURL = "https://$Server.$ServerDomain/api/v1"
$EndpointURL = $APIURL "/computer/?q=deleted:false"
$EndpointList = Invoke-RestMethod -Uri $EndpointURL -Method Get -Header @{"X-Auth-Token" = $apiKey}
# Set the new policy ID to use A on the first variable, then B on the next, then back to A, and so on
#$NewPolicyId = A
#$NewPolicyId = B
# Format the change and send it back to the server for writing
$SpecificEndpoint.policyId = $NewPolicyId
$POST_URL = "$APIURL/computer/" $SpecificEndpoint.id
$json = $SpecificEndpoint | ConvertTo-Json
Invoke-RestMethod -Uri $POST_URL -Method Post -Header @{"X-Auth-Token" = $apiKey} -Body $json -ContentType "application/json"```
uj5u.com熱心網友回復:
您所需要的只是一個包含策略名稱的簡單 2 項陣列,以及一個用于跟蹤您上次選擇的變數:
$policies = @('A', 'B')
$pickSecond = $false
foreach($SpecificEndpoint in $EndpointList)
{
# pick policy
$policy = $policies[$pickSecond]
# toggle `pickSecond` for next time
$pickSecond = -not $pickSecond
$SpecificEndpoint.policyId = $policy
# ... perform API call
}
PowerShell 將自動轉換$false為 0 和$true1,因此運算式在和$policy之間交替$policies[0]$policies[1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418461.html
標籤:
