Update-AzPolicyAssignment
Den här åtgärden uppdaterar en principtilldelning med angivet omfång och namn. Principtilldelningar gäller för alla resurser som ingår i deras omfång. När du till exempel tilldelar en princip i resursgruppens omfång gäller den principen för alla resurser i gruppen.
Syntax
Update-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
-PolicyParameterObject <PSObject>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-Name <String>
[-Scope <String>]
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
-PolicyParameter <String>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-Id <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-Id <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
-PolicyParameterObject <PSObject>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
-Id <String>
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
-PolicyParameter <String>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzPolicyAssignment
[-NotScope <String[]>]
[-DisplayName <String>]
[-Description <String>]
[-Metadata <String>]
[-Location <String>]
[-EnforcementMode <String>]
[-IdentityType <String>]
[-IdentityId <String>]
[-NonComplianceMessage <PSObject[]>]
[-Override <IOverride[]>]
[-ResourceSelector <IResourceSelector[]>]
[-BackwardCompatible]
-InputObject <IPolicyAssignment>
[-DefaultProfile <PSObject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Den här åtgärden uppdaterar en principtilldelning med angivet omfång och namn. Principtilldelningar gäller för alla resurser som ingår i deras omfång. När du till exempel tilldelar en princip i resursgruppens omfång gäller den principen för alla resurser i gruppen.
Exempel
Exempel 1: Uppdatera visningsnamnet
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'
Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar visningsnamnet för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.
Exempel 2: Lägg till en systemtilldelad hanterad identitet i principtilldelningen
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'
Det första kommandot hämtar principtilldelningen med namnet PolicyAssignment från den aktuella prenumerationen med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot tilldelar en systemtilldelad hanterad identitet till principtilldelningen.
Exempel 3: Lägga till en användartilldelad hanterad identitet i principtilldelningen
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id
Det första kommandot hämtar principtilldelningen med namnet PolicyAssignment från den aktuella prenumerationen med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det andra kommandot hämtar den användartilldelade hanterade identiteten med namnet UserAssignedIdentity1 med hjälp av cmdleten Get-AzUserAssignedIdentity och lagrar den i variabeln $UserAssignedIdentity. Det sista kommandot tilldelar den användartilldelade hanterade identiteten som identifieras av egenskapen ID för $UserAssignedIdentity till principtilldelningen.
Exempel 4: Uppdatera principtilldelningsparametrar med nytt principparameterobjekt
$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations
De första och andra kommandona skapar ett objekt som innehåller alla Azure-regioner vars namn börjar med "france" eller "uk". Det andra kommandot lagrar objektet i variabeln $AllowedLocations. Det tredje kommandot hämtar principtilldelningen med namnet "PolicyAssignment" Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar parametervärdena för principtilldelningen med namnet PolicyAssignment.
Exempel 5: Uppdatera principtilldelningsparametrar med principparameterfilen
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Update-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json
Kommandot uppdaterar principtilldelningen med namnet "PolicyAssignment" med hjälp av principparameterfilen AllowedLocations.json från den lokala arbetskatalogen.
Exempel 6: Uppdatera en enforcementMode
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default
Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar egenskapen enforcementMode för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.
Exempel 7: Uppdatera icke-efterlevnadsmeddelanden
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Update-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}
Det första kommandot hämtar principtilldelningen med namnet VirtualMachinePolicy med hjälp av cmdleten Get-AzPolicyAssignment och lagrar den i variabeln $PolicyAssignment. Det sista kommandot uppdaterar icke-efterlevnadsmeddelandena för principtilldelningen med ett nytt meddelande som visas om en resurs nekas av principen.
Exempel 8: Uppdatera resursväljaren
$ResourceSelector = @{Name = "MyLocationSelector"; Selector = @(@{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")})}
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -ResourceSelector $ResourceSelector
Det första kommandot skapar ett resursväljareobjekt som ska användas för att ange att tilldelningen endast ska gälla för resurser som inte finns i USA, östra eller USA, östra 2 och lagrar det i variabeln $ResourceSelector. Det sista kommandot uppdaterar principtilldelningen med namnet VirtualMachinePolicyAssignment med resursväljaren som anges av $ResourceSelector.
Exempel 9: Åsidosättning av uppdatering
$Selector = @{Kind = "resourceLocation"; NotIn = @("eastus", "eastus2")}
$Override = @(@{Kind = "policyEffect"; Value = 'Disabled'; Selector = @($Selector)})
Update-AzPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -Override $Override
Det första kommandot skapar en platsväljare som anger andra platser än USA, östra eller USA, östra 2 och lagrar i variabeln $Selector. Det andra kommandot skapar ett åsidosättningsobjekt som ska användas för att ange att den tilldelade definitionen ska ha en inaktiverad effekt på de platser som identifieras av $Selector. Det sista kommandot uppdaterar principtilldelningen med namnet VirtualMachinePolicyAssignment med den åsidosättning som anges av $Override.
Exempel 10: [Backcompat] Uppdatera en enforcementMode
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default
Det första kommandot hämtar en resursgrupp med namnet ResourceGroup11 med hjälp av cmdleten Get-AzResourceGroup. Kommandot lagrar objektet i variabeln $ResourceGroup. Det andra kommandot hämtar principtilldelningen med namnet PolicyAssignment med hjälp av cmdleten Get-AzPolicyAssignment. Kommandot lagrar objektet i variabeln $PolicyAssignment. Det sista kommandot uppdaterar egenskapen enforcementMode för principtilldelningen på resursgruppen som identifieras av egenskapen ResourceId för $ResourceGroup.
Parametrar
-BackwardCompatible
Gör att cmdleten returnerar artefakter med äldre format som placerar principspecifika egenskaper i ett egenskapspåseobjekt.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DefaultProfile
Parametern DefaultProfile fungerar inte. Använd parametern SubscriptionId när den är tillgänglig om du kör cmdleten mot en annan prenumeration.
Typ: | PSObject |
Alias: | AzureRMContext, AzureCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Description
Det här meddelandet är en del av svaret i händelse av principöverträdelse.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-DisplayName
Visningsnamnet för principtilldelningen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-EnforcementMode
Tvingande läge för principtilldelning. Möjliga värden är Standard och DoNotEnforce.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Id
ID:t för principtilldelningen som ska uppdateras. Använd formatet {scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}.
Typ: | String |
Alias: | ResourceId, PolicyAssignmentId |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-IdentityId
Användaridentiteten som är associerad med principen. Nyckelreferenserna för användaridentitetsordlistan är ARM-resurs-ID:er i formuläret: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-IdentityType
Identitetstypen. Det här är det enda obligatoriska fältet när du lägger till en system- eller användartilldelad identitet till en resurs.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Typ: | IPolicyAssignment |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Location
Platsen för principtilldelningen. Krävs endast vid användning av hanterad identitet.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Metadata
Metadata för principtilldelning. Metadata är ett öppet slutobjekt och är vanligtvis en samling nyckelvärdepar.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Namnet på principtilldelningen.
Typ: | String |
Alias: | PolicyAssignmentName |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-NonComplianceMessage
Meddelandena som beskriver varför en resurs inte är kompatibel med principen. Information om hur du skapar finns i AVSNITTET ANTECKNINGAR för NONCOMPLIANCEMESSAGE-egenskaper och skapa en hash-tabell.
Typ: | PSObject[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-NotScope
Principens undantagna omfång.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Override
Åsidosättning av principegenskapsvärdet.
Typ: | IOverride[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PolicyParameter
Parametervärdena för den tilldelade principregeln. Nycklarna är parameternamnen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-PolicyParameterObject
Parametervärdena för den tilldelade principregeln. Nycklarna är parameternamnen.
Typ: | PSObject |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ResourceSelector
Listan över resursväljare för att filtrera principer efter resursegenskaper.
Typ: | IResourceSelector[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Scope
Omfånget för principtilldelningen. Giltiga omfång är: hanteringsgrupp (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), prenumeration (format: '/subscriptions/{subscriptionId}'), resursgrupp (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', eller resurs (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
PSObject[]
String[]
Utdata
Kommentarer
ALIAS
Set-AzPolicyAssignment
Azure PowerShell