Condividi tramite


Invoke-AzRestMethod

Costruire ed eseguire una richiesta HTTP solo all'endpoint di gestione delle risorse di Azure

Sintassi

ByPath (Impostazione predefinita)

Invoke-AzRestMethod
    -Path <String>
    [-Method <String>]
    [-Payload <String>]
    [-AsJob]
    [-WaitForCompletion]
    [-PollFrom <String>]
    [-FinalResultFrom <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [-Paginate]
    [-NextLinkName <String>]
    [-PageableItemName <String>]
    [-MaxPageSize <<Int32>]]>]
    [<CommonParameters>]

ByParameters

Invoke-AzRestMethod
    -ApiVersion <String>
    [-SubscriptionId <String>]
    [-ResourceGroupName <String>]
    [-ResourceProviderName <String>]
    [-ResourceType <String[]>]
    [-Name <String[]>]
    [-Method <String>]
    [-Payload <String>]
    [-AsJob]
    [-WaitForCompletion]
    [-PollFrom <String>]
    [-FinalResultFrom <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [-Paginate]
    [-NextLinkName <String>]
    [-PageableItemName <String>]
    [-MaxPageSize <<Int32>]]>]
    [<CommonParameters>]

ByURI

Invoke-AzRestMethod
    [-Uri] <Uri>
    [-ResourceId <Uri>]
    [-Method <String>]
    [-Payload <String>]
    [-AsJob]
    [-WaitForCompletion]
    [-PollFrom <String>]
    [-FinalResultFrom <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [-Paginate]
    [-NextLinkName <String>]
    [-PageableItemName <String>]
    [-MaxPageSize <<Int32>]]>]
    [<CommonParameters>]

Descrizione

Costruire ed eseguire una richiesta HTTP solo all'endpoint di gestione delle risorse di Azure

Esempio

Esempio 1

Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}?api-version={API}" -Method GET
Headers    : {[Cache-Control, System.String[]], [Pragma, System.String[]], [x-ms-request-id, System.String[]], [Strict-Transport-Security, System.String[]]…}
Version    : 1.1
StatusCode : 200
Method     : GET
Content    : {
               "properties": {
                 "source": "Azure",
                 "customerId": "{customerId}",
                 "provisioningState": "Succeeded",
                 "sku": {
                   "name": "pergb2018",
                   "maxCapacityReservationLevel": 3000,
                   "lastSkuUpdate": "Mon, 25 May 2020 11:10:01 GMT"
                 },
                 "retentionInDays": 30,
                 "features": {
                   "legacy": 0,
                   "searchVersion": 1,
                   "enableLogAccessUsingOnlyResourcePermissions": true
                 },
                 "workspaceCapping": {
                   "dailyQuotaGb": -1.0,
                   "quotaNextResetTime": "Thu, 18 Jun 2020 05:00:00 GMT",
                   "dataIngestionStatus": "RespectQuota"
                 },
                 "enableFailover": false,
                 "publicNetworkAccessForIngestion": "Enabled",
                 "publicNetworkAccessForQuery": "Enabled",
                 "createdDate": "Mon, 25 May 2020 11:10:01 GMT",
                 "modifiedDate": "Mon, 25 May 2020 11:10:02 GMT"
               },
               "id": "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}",
               "name": "{workspace}",
               "type": "Microsoft.OperationalInsights/workspaces",
               "location": "eastasia",
               "tags": {}
             }

Ottenere l'area di lavoro Log Analytics in base al percorso. Supporta solo l'API del piano di gestione e il nome host di Azure Resource Manager vengono aggiunti in base all'impostazione dell'ambiente di Azure.

Esempio 2

Invoke-AzRestMethod https://graph.microsoft.com/v1.0/me
Headers    : {[Date, System.String[]], [Cache-Control, System.String[]], [Transfer-Encoding, System.String[]], [Strict-Transport-Security, System.String[]]…}
Version    : 1.1
StatusCode : 200
Method     : GET
Content    : {"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity","businessPhones":["......}

Ottenere l'utente connesso corrente tramite l'API MicrosoftGraph. Questo esempio equivale a Get-AzADUser -SignedIn.

Esempio 3

$subscriptionId = (Get-AzContext).Subscription.ID
Invoke-AzRestMethod -SubscriptionId $subscriptionId -ResourceGroupName "test-group" -ResourceProviderName Microsoft.AppPlatform -ResourceType Spring,apps -Name "test-spring-service" -ApiVersion 2020-07-01 -Method GET
Headers    : {[Cache-Control, System.String[]], [Pragma, System.String[]], [Vary, System.String[]], [x-ms-request-id,
             System.String[]]…}
Version    : 1.1
StatusCode : 200
Method     : GET
Content    : {"value":[{"properties":{"public":true,"url":"https://test-spring-service-demo.azuremicroservices.io","provisioni
             ngState":"Succeeded","activeDeploymentName":"default","fqdn":"test-spring-service.azuremicroservices.io","httpsOn
             ly":false,"createdTime":"2022-06-22T02:57:13.272Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"pers
             istentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity
             ":null,"location":"eastus","id":"/subscriptions/$subscriptionId/resourceGroups/test-group/providers/Microsoft.AppPlatform/Spring/test-spring-service/apps/demo","name":"demo"},{"properties":{"publ
             ic":false,"provisioningState":"Succeeded","activeDeploymentName":"deploy01","fqdn":"test-spring-service.azuremicr
             oservices.io","httpsOnly":false,"createdTime":"2022-06-22T07:46:54.9Z","temporaryDisk":{"sizeInGB":5,"moun
             tPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Sp
             ring/apps","identity":null,"location":"eastus","id":"/subscriptions/$subscriptionId/r
             esourceGroups/test-group/providers/Microsoft.AppPlatform/Spring/test-spring-service/apps/pwsh01","name":"pwsh0
             1"}]}

Elencare le app nel servizio Spring "test-spring-service"

Esempio 4

$subscriptionId = (Get-AzContext).Subscription.ID
Invoke-AzRestMethod -SubscriptionId $subscriptionId -ResourceGroupName "test-group" -ResourceProviderName Microsoft.AppPlatform -ResourceType Spring -Name "test-spring-service","demo" -ApiVersion 2020-07-01 -Method GET
Headers    : {[Cache-Control, System.String[]], [Pragma, System.String[]], [Vary, System.String[]], [x-ms-request-id,
             System.String[]]…}
Version    : 1.1
StatusCode : 200
Method     : GET
Content    : {"properties":{"public":true,"url":"https://test-spring-service-demo.azuremicroservices.io","provisioningState":"
             Succeeded","activeDeploymentName":"default","fqdn":"test-spring-service.azuremicroservices.io","httpsOnly":false,
             "createdTime":"2022-06-22T02:57:13.272Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk
             ":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"lo
             cation":"eastus","id":"/subscriptions/$subscriptionId/resourceGroups/test-group/pr
             oviders/Microsoft.AppPlatform/Spring/test-spring-service/apps/demo","name":"demo"}

Ottenere l'app "demo" nel servizio cloud Spring "test-spring-service"

Esempio 5

# Replace *** with real values
$payload = @{principalId="***"; resourceId="***"; appRoleId="***"} | ConvertTo-Json -Depth 3
Invoke-AzRestMethod -Method POST -Uri https://graph.microsoft.com/v1.0/servicePrincipals/***/appRoleAssignedTo -Payload $payload

Chiamare l'API Microsoft Graph per assegnare il ruolo app creando una tabella hash, convertendo in una stringa JSON e passando il payload a Invoke-AzRestMethod.

Esempio 6

# This example demonstrates creating or updating a resource with a long-running PUT request.
Invoke-AzRestMethod -Method PUT -Uri "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.KeyVault/managedHSMs/{hsm-name}?api-version=2023-07-01" `
  -Payload (@{
    location = "eastus";
    properties = @{
      softDeleteRetentionDays = 7;
      tenantId = "{tenant-id}";
      initialAdminObjectIds = @("{admin-object-id}")
    };
    sku = @{
      name = "Standard_B1";
      family = "B"
    }
  } | ConvertTo-Json -Depth 10) `
  -WaitForCompletion
StatusCode : 200
Content    : {
               "sku": {
                 "family": "B",
                 "name": "Standard_B1"
               },
               "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.KeyVault/managedHSMs/{hsm-name}",
               "name": "{hsm-name}",
               "type": "Microsoft.KeyVault/managedHSMs",
               "location": "{region}",
               "tags": {},
               "systemData": {
                 "createdBy": "{user-email}",
                 "createdByType": "User",
                 "createdAt": "2024-10-29T05:05:49.229Z",
                 "lastModifiedBy": "{user-email}",
                 "lastModifiedByType": "User",
                 "lastModifiedAt": "2024-10-29T05:05:49.229Z"
               },
               "properties": {
                 "tenantId": "{tenant-id}",
                 "hsmUri": "https://{hsm-name}.managedhsm.azure.net/",
                 "initialAdminObjectIds": [
                   "{admin-object-id}"
                 ],
                 "enableSoftDelete": true,
                 "softDeleteRetentionInDays": 90,
                 "enablePurgeProtection": false,
                 "provisioningState": "Succeeded",
                 "statusMessage": "The Managed HSM is provisioned and ready to use.",
                 "networkAcls": {
                   "bypass": "AzureServices",
                   "defaultAction": "Allow",
                   "ipRules": [],
                   "virtualNetworkRules": []
                 },
                 "publicNetworkAccess": "Enabled",
                 "regions": [],
                 "securityDomainProperties": {
                   "activationStatus": "NotActivated",
                   "activationStatusMessage": "Your HSM has been provisioned, but cannot be used for cryptographic operations until it is activated. To activate the HSM, download the security domain."
                 }
               }
             }
Headers    : {
               "Cache-Control": "no-cache",
               "Pragma": "no-cache",
               "x-ms-client-request-id": "{client-request-id}",
               "x-ms-keyvault-service-version": "1.5.1361.0",
               "x-ms-request-id": "{request-id}",
               "x-ms-ratelimit-remaining-subscription-reads": "249",
               "x-ms-ratelimit-remaining-subscription-global-reads": "3749",
               "x-ms-correlation-request-id": "{correlation-request-id}",
               "x-ms-routing-request-id": "{routing-request-id}",
               "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
               "Date": "Tue, 29 Oct 2024 05:18:44 GMT"
             }
Method     : GET
RequestUri : https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.KeyVault/managedHSMs/{hsm-name}?api-version=2023-07-01
Version    : 1.1

Invia una richiesta PUT a esecuzione prolungata per creare o aggiornare una risorsa HSM gestita in Azure, eseguendo il polling fino al completamento se l'operazione lo richiede. In questo esempio vengono usati segnaposto ({subscription-id}, {resource-group}, {hsm-name}, {tenant-id}e {admin-object-id}) che l'utente deve sostituire con i valori specifici.

Esempio 7

# This example shows how to use server-side pagination to get results from a paginated GET endpoint by following nextLink references in the response.

Invoke-AzRest -SubscriptionId $subscriptionId -ResourceProviderName "Microsoft.Compute" -ResourceType "virtualMachines" -ApiVersion "2024-11-01" -Method "GET" -Paginate
StatusCode : 200
Content    : {
               "value": [
                 {
                   "name": "VM000",
                   "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Compute/virtualMachines/VM000",
                   "type": "Microsoft.Compute/virtualMachines",
                   "location": "{region}",
                   "tags": {},
                   "identity": {},
                   "properties": {},
                   "resources": []
                 },
                 {
                   "name": "VM001",
                   "id": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Compute/virtualMachines/VM001",
                   "type": "Microsoft.Compute/virtualMachines",
                   "location": "{region}",
                   "tags": {},
                   "identity": {},
                   "properties": {},
                   "resources": []
                 }
              ]
             }
Headers    : {
               "Pragma": "no-cache",
               "x-ms-request-id": "{request-id}",
               "x-ms-correlation-request-id": "{correlation-request-id}",
               "x-ms-routing-request-id": "{routing-request-id}",
               "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
               "X-Content-Type-Options": "nosniff",
               "Date": "Wed, 23 Jul 2025 07:49:56 GMT"
             }
Method     : GET
RequestUri : https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.Compute/virtualMachines?api-version=2024-11-01
Version    : 1.1

Parametri

-ApiVersion

Versione api

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-AsJob

Eseguire il cmdlet in background

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DefaultProfile

Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.

Proprietà dei parametri

Tipo:IAzureContextContainer
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:AzContext, AzureRmContext, AzureCredential

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-FinalResultFrom

Specifica l'intestazione per il risultato GET finale al termine dell'operazione a esecuzione prolungata.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Valori accettati:FinalStateVia, Location, OriginalUri, Operation-Location
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MaxPageSize

Specifica il numero massimo di pagine da recuperare quando si seguono i collegamenti successivi in una risposta impaginata.

Proprietà dei parametri

Tipo:Int32
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Method

Http, metodo

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Valori accettati:GET, POST, PUT, PATCH, DELETE
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Name

elenco del nome della risorsa di destinazione

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-NextLinkName

Specifica il nome della proprietà JSON del collegamento successivo da seguire per la paginazione.

Proprietà dei parametri

Tipo:String
Valore predefinito:nextLink
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-PageableItemName

Specifica il nome della proprietà JSON che contiene gli elementi in una risposta impaginata.

Proprietà dei parametri

Tipo:String
Valore predefinito:value
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Paginate

Abilita l'impaginazione basata su server dagli endpoint GET impaginati.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Percorso dell'URL della risorsa di destinazione. Il nome host di Resource Manager non deve essere aggiunto.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Payload

Payload del formato JSON

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-PollFrom

Specifica l'intestazione di polling (da recuperare) per lo stato dell'operazione a esecuzione prolungata.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Valori accettati:AzureAsyncLocation, Location, OriginalUri, Operation-Location
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResourceGroupName

Nome gruppo di risorse di destinazione

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResourceId

URI dell'identificatore specificato dall'API REST che si sta chiamando. Non deve essere l'ID risorsa di Azure Resource Manager.

Proprietà dei parametri

Tipo:Uri
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByURI
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResourceProviderName

Nome provider di risorse di destinazione

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResourceType

Elenco del tipo di risorsa di destinazione

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SubscriptionId

ID sottoscrizione di destinazione

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByParameters
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Uri

Uniform Resource Identifier delle risorse di Azure. La risorsa di destinazione deve supportare l'autenticazione di Azure AD e il token di accesso viene derivato in base all'ID risorsa. Se l'ID risorsa non è impostato, il relativo valore viene derivato in base ai suffissi predefiniti del servizio nell'ambiente Azure corrente.

Proprietà dei parametri

Tipo:Uri
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByURI
Posizione:1
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WaitForCompletion

Attende il completamento dell'operazione a esecuzione prolungata prima di restituire il risultato.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

System.string

Output

PSHttpResponse