Freigeben über


Set-AzPolicyAssignment

Ändert eine Richtlinienzuweisung.

Syntax

Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameterObject <Hashtable>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   -Name <String>
   [-Scope <String>]
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameter <String>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameterObject <Hashtable>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   -Id <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   -PolicyParameter <String>
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzPolicyAssignment
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-Metadata <String>]
   [-AssignIdentity]
   [-Location <String>]
   [-EnforcementMode <PolicyAssignmentEnforcementMode>]
   [-IdentityType <ManagedIdentityType>]
   [-IdentityId <String>]
   -InputObject <PsPolicyAssignment>
   [-NonComplianceMessage <PsNonComplianceMessage[]>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Beschreibung

Das Cmdlet Set-AzPolicyAssignment ändert eine Richtlinienzuweisung. Geben Sie eine Zuordnung nach ID oder nach Name und Bereich an.

Beispiele

Beispiel 1: Aktualisieren des Anzeigenamens

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzResourceGroup" ab. Der Befehl speichert dieses Objekt in der $ResourceGroup Variablen. Der zweite Befehl ruft die Richtlinienzuweisung mit dem Namen "PolicyAssignment" mithilfe des Cmdlets "Get-AzPolicyAssignment" ab. Der Befehl speichert dieses Objekt in der variablen $PolicyAssignment. Der letzte Befehl aktualisiert den Anzeigenamen für die Richtlinienzuordnung für die Ressourcengruppe, die durch die ResourceId-Eigenschaft von $ResourceGroup identifiziert wird.

Beispiel 2: Hinzufügen einer vom System zugewiesenen verwalteten Identität zur Richtlinienzuweisung

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'

Der erste Befehl ruft die Richtlinienzuweisung mit dem Namen "PolicyAssignment" aus dem aktuellen Abonnement mithilfe des Cmdlets "Get-AzPolicyAssignment" ab. Der Befehl speichert dieses Objekt in der variablen $PolicyAssignment. Der letzte Befehl weist der Richtlinienzuweisung eine vom System zugewiesene verwaltete Identität zu.

Beispiel 3: Hinzufügen einer vom Benutzer zugewiesenen verwalteten Identität zur Richtlinienzuweisung

$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
 Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id

Der erste Befehl ruft die Richtlinienzuweisung mit dem Namen "PolicyAssignment" aus dem aktuellen Abonnement mithilfe des Cmdlets "Get-AzPolicyAssignment" ab. Der Befehl speichert dieses Objekt in der variablen $PolicyAssignment. Der zweite Befehl ruft die vom Benutzer zugewiesene verwaltete Identität mit dem Namen "UserAssignedIdentity1" mithilfe des Cmdlets "Get-AzUserAssignedIdentity" ab und speichert sie in der variablen $UserAssignedIdentity. Der letzte Befehl weist der Richtlinienzuweisung die vom Benutzer zugewiesene verwaltete Identität zu, die durch die ID-Eigenschaft von $UserAssignedIdentity identifiziert wird.

Beispiel 4: Aktualisieren von Richtlinienzuweisungsparametern mit einem neuen Richtlinienparameterobjekt

$Locations = Get-AzLocation | Where-Object {($_.displayname -like 'france*') -or ($_.displayname -like 'uk*')}
$AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -PolicyParameterObject $AllowedLocations

Mit den ersten und zweiten Befehlen wird ein Objekt erstellt, das alle Azure-Regionen enthält, deren Namen mit "france" oder "uk" beginnen. Der zweite Befehl speichert dieses Objekt in der $AllowedLocations Variablen. Der dritte Befehl ruft die Richtlinienzuweisung mit dem Namen "PolicyAssignment" ab. Der Befehl speichert dieses Objekt in der $PolicyAssignment Variablen. Der letzte Befehl aktualisiert die Parameterwerte für die Richtlinienzuweisung mit dem Namen "PolicyAssignment".

Beispiel 5: Aktualisieren von Richtlinienzuweisungsparametern mit Richtlinienparameterdatei

Erstellen Sie eine Datei namens AllowedLocations.json im lokalen Arbeitsverzeichnis mit dem folgenden Inhalt.

{
    "listOfAllowedLocations":  {
      "value": [
        "uksouth",
        "ukwest",
        "francecentral",
        "francesouth"
      ]
    }
}

Set-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json

Der Befehl aktualisiert die Richtlinienzuweisung mit dem Namen 'PolicyAssignment' mithilfe der Richtlinienparameterdatei AllowedLocations.json aus dem lokalen Arbeitsverzeichnis.

Beispiel 6: Aktualisieren eines enforcementMode

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzResourceGroup" ab. Der Befehl speichert dieses Objekt in der $ResourceGroup Variablen. Der zweite Befehl ruft die Richtlinienzuweisung mit dem Namen "PolicyAssignment" mithilfe des Cmdlets "Get-AzPolicyAssignment" ab. Der Befehl speichert dieses Objekt in der variablen $PolicyAssignment. Der letzte Befehl aktualisiert die EnforcementMode-Eigenschaft für die Richtlinienzuordnung für die Ressourcengruppe, die durch die ResourceId-Eigenschaft von $ResourceGroup identifiziert wird.

Beispiel 7: Aktualisieren von Nicht-Compliance-Nachrichten

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}

Der erste Befehl ruft die Richtlinienzuweisung mit dem Namen VirtualMachinePolicy mithilfe des Cmdlets "Get-AzPolicyAssignment" ab und speichert sie in der variablen $PolicyAssignment. Der letzte Befehl aktualisiert die Nichtkonformitätsmeldungen für die Richtlinienzuweisung mit einer neuen Meldung, die angezeigt wird, wenn eine Ressource von der Richtlinie verweigert wird.

Parameter

-ApiVersion

Gibt die version der zu verwendenden Ressourcenanbieter-API an. Wenn Sie keine Version angeben, verwendet dieses Cmdlet die neueste verfügbare Version.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AssignIdentity

Generieren und Zuweisen einer vom System zugewiesenen verwalteten Identität für diese Richtlinienzuweisung. Die Identität wird verwendet, wenn Bereitstellungen für "deployIfNotExists" und "Modify"-Richtlinien ausgeführt werden. Der Speicherort ist beim Zuweisen einer Identität erforderlich.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Description

Die Beschreibung für die Richtlinienzuweisung

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-DisplayName

Gibt einen neuen Anzeigenamen für die Richtlinienzuweisung an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-EnforcementMode

Der Erzwingungsmodus für die Richtlinienzuweisung. Derzeit sind gültige Werte "Default", "DoNotEnforce".

Typ:Nullable<T>[PolicyAssignmentEnforcementMode]
Zulässige Werte:Default, DoNotEnforce
Position:Named
Standardwert:Default
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Id

Gibt die vollqualifizierte Ressourcen-ID für die Richtlinienzuweisung an, die dieses Cmdlet ändert.

Typ:String
Aliase:ResourceId
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-IdentityId

Gibt die ID der vom Benutzer zugewiesenen verwalteten Identität an, die dieser Richtlinienzuweisung zugewiesen werden soll. Dieser Wert ist erforderlich, wenn der Wert "UserAssigned" an den Parameter "-IdentityType" übergeben wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-IdentityType

Gibt den Typ der verwalteten Identität an, die dieser Richtlinienzuweisung zugewiesen werden soll. Wenn der Wert "SystemAssigned" angegeben wird, wird eine vom System zugewiesene verwaltete Identität generiert und dieser Richtlinienzuweisung zugewiesen. Wenn der Wert "UserAssigned" angegeben wird, wird der benutzer zugewiesene Identität, die über seine ID an den Parameter "-IdentityId" übergeben wird, dieser Richtlinienzuweisung zugewiesen. Die Identität wird verwendet, wenn Bereitstellungen für "deployIfNotExists" und "Modify"-Richtlinien ausgeführt werden. Der Speicherort ist beim Zuweisen einer Identität erforderlich. Berechtigungen müssen der Identität mithilfe von New-AzRoleAssignment erteilt werden, nachdem die vom System zugewiesene Identität erstellt wurde. Der IdentityType-Parameter erhält Vorrang, wenn sowohl der Parameter AssignIdentity als auch der IdentityType-Parameter verwendet werden.

Typ:Nullable<T>[ManagedIdentityType]
Zulässige Werte:SystemAssigned, UserAssigned, None
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Das Richtlinienzuweisungsobjekt, das aktualisiert werden soll, das von einem anderen Cmdlet ausgegeben wurde.

Typ:PsPolicyAssignment
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Location

Der Speicherort der Ressourcenidentität der Richtlinienzuweisung. Dies ist erforderlich, wenn der -IdentityType-Wert bereitgestellt wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Metadata

Die aktualisierten Metadaten für die Richtlinienzuweisung. Dies kann ein Pfad zu einem Dateinamen sein, der die Metadaten enthält, oder die Metadaten als Zeichenfolge.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt den Namen der Richtlinienzuweisung an, die dieses Cmdlet ändert.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-NonComplianceMessage

Die Nicht-Compliance-Meldungen, die beschreiben, warum eine Ressource nicht mit der Richtlinie kompatibel ist.

Typ:PsNonComplianceMessage[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-NotScope

Die Richtlinienzuweisung gilt nicht für Bereiche.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PolicyParameter

Der neue Richtlinienparameterdateipfad oder die Zeichenfolge für die Richtlinienzuweisung.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PolicyParameterObject

Das neue Richtlinienparameterobjekt für die Richtlinienzuweisung.

Typ:Hashtable
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Pre

Gibt an, dass dieses Cmdlet vorab veröffentlichte API-Versionen berücksichtigt, wenn es automatisch bestimmt, welche Version verwendet werden soll.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Scope

Gibt den Bereich an, auf den die Richtlinie angewendet wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Eingaben

String

String[]

Nullable<T>[[Microsoft.Azure.Commands.ResourceManager.Cmdlets.Entities.Policy.PolicyAssignmentEnforcementMode, Microsoft.Azure.PowerShell.Cmdlets.ResourceManager, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null]]

PsPolicyAssignment

PsNonComplianceMessage[]

Ausgaben

PsPolicyAssignment