In this section we show a PowerShell example to do the exact same thing as with a REST client shown in this section. In the example we will use the actual CPU value and the current timestamp (in UTC). The code has a simple while-statement that will sample the CPU four times per minute.


$user = "username"
$pass = "Password"
$pair = "${user}:${pass}"

While ($true) {
$cpu = Get-WmiObject win32_processor | select LoadPercentage
$cpu1 = $cpu.loadpercentage
$TimeNow = Get-Date
$time = $TimeNow.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss") + "Z"

$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$base64 = [System.Convert]::ToBase64String($bytes)

$basicAuthValue = "Basic $base64"

$JSON = @"
[{
  "nodeRef": {
    "nodeType": "aims.int-sys.server",
    "parts": {
      "part1": "part1value"
    }
  },
  "statType": "aims.int-sys.server-cpu",
  "time": "$time",
  "value": "$cpu1"
}]
"@

Invoke-WebRequest -Uri "https://api.aimsinnovation.com/api/environments/{environmentId}/statpoints/" -Method:Post -Headers @{"Authorization"=$basicAuthValue; "X-System"="10"} -Body $JSON -ContentType "application/json" -ErrorAction:Stop -TimeoutSec 60

sleep 15
}