test.ps1
|
$AllCustomers = (Get-AcronisCustomers).items $Current = 0 $queryParameters = @{ edition = "pck_per_workload" kind = "customer" } $wantedNames = @( "pw_base_m365_seats" "pw_base_m365_mailboxes" "pw_base_m365_onedrive" "pw_base_m365_sharepoint_sites" "pw_base_m365_teams" "pw_base_storage" "pw_pack_adv_backup_m365_seats" ) foreach ($Customer in $AllCustomers) { $Current++ $CustomerInfo = Get-AcronisCustomerInfo -CustomerId $Customer Write-Host "Processing customer $Current of $($AllCustomers.Count) : $($CustomerInfo.name)" $AllOfferings = Invoke-AcronisApi -Method Get -Uri "api/2/tenants/445de664-561c-454e-ad97-845dc50d3fd9/offering_items/available_for_child" -RawBody $queryParameters $filteredItems = $AllOfferings.items | Where-Object { $wantedNames -notcontains $_.name } foreach ($item in $filteredItems) { $item.status = 0 $item.deleted_at = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ssZ") $item.updated_at = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ssZ") } $json = @{ offering_items = $filteredItems } | ConvertTo-Json -Depth 100 $result = Invoke-AcronisApi -Method Put -Uri "api/2/tenants/$($CustomerInfo.id)/offering_items" -RawBody $json -ContentType "application/json" } "9b855fe1-a777-4d29-a4e3-e9cb8dfcec46" |