Freigeben über


New-AzureRmPolicyAssignment

Erstellt eine Richtlinienzuweisung.

Warnung

Das AzureRM PowerShell-Modul ist seit dem 29. Februar 2024 offiziell veraltet. Benutzern wird empfohlen, von AzureRM zum Az PowerShell-Modul zu migrieren, um weiterhin Support und Updates zu erhalten.

Obwohl das AzureRM-Modul möglicherweise weiterhin funktioniert, wird es nicht mehr gewartet, und es wird kein Support mehr angeboten. Die weitere Nutzung erfolgt daher nach Ermessen und Risiko des Benutzers. Weitere Informationen zum Übergang zum Az-Modul finden Sie in unseren Migrationsressourcen.

Syntax

New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   [-PolicySetDefinition <PSObject>]
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   -PolicyDefinition <PSObject>
   [-PolicySetDefinition <PSObject>]
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameterObject <Hashtable>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
New-AzureRmPolicyAssignment
   -Name <String>
   -Scope <String>
   [-NotScope <String[]>]
   [-DisplayName <String>]
   [-Description <String>]
   [-PolicyDefinition <PSObject>]
   -PolicySetDefinition <PSObject>
   -PolicyParameter <String>
   [-Metadata <String>]
   [-Sku <Hashtable>]
   [-AssignIdentity]
   [-Location <String>]
   [-ApiVersion <String>]
   [-Pre]
   [-DefaultProfile <IAzureContextContainer>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

Beschreibung

Das Cmdlet New-AzureRmPolicyAssignment erstellt eine Richtlinienzuweisung. Geben Sie eine Richtlinie und einen Bereich an.

Beispiele

Beispiel 1: Richtlinienzuweisung auf Ressourcengruppenebene

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzureRMResourceGroup" ab und speichert sie in der variablen $ResourceGroup. Der zweite Befehl ruft die Richtliniendefinition mit dem Namen VirtualMachinePolicy mithilfe des Cmdlets "Get-AzureRmPolicyDefinition" ab und speichert sie in der $Policy Variablen. Der letzte Befehl weist die Richtlinie in $Policy auf der Ebene der Ressourcengruppe zu, die durch die ResourceId-Eigenschaft von $ResourceGroup identifiziert wird.

Beispiel 2: Richtlinienzuweisung auf Ressourcengruppenebene mit Richtlinienparameterobjekt

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> $Locations = Get-AzureRmLocation | where displayname -like '*east*'
PS C:\> $AllowedLocations = @{'listOfAllowedLocations'=($Locations.location)}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameterObject $AllowedLocations

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzureRMResourceGroup" ab. Der Befehl speichert dieses Objekt in der $ResourceGroup Variablen. Der zweite Befehl ruft die integrierte Richtliniendefinition für zulässige Speicherorte mithilfe des Cmdlets "Get-AzureRmPolicyDefinition" ab. Der Befehl speichert dieses Objekt in der $Policy Variablen. Mit den dritten und vierten Befehlen wird ein Objekt erstellt, das alle Azure-Regionen mit "east" im Namen enthält. Die Befehle speichern dieses Objekt in der $AllowedLocations Variablen. Der letzte Befehl weist die Richtlinie in $Policy auf der Ebene einer Ressourcengruppe mithilfe des Richtlinienparameterobjekts in $AllowedLocations zu. Die ResourceId-Eigenschaft von $ResourceGroup identifiziert die Ressourcengruppe.

Beispiel 3: Richtlinienzuweisung auf Ressourcengruppenebene mit Richtlinienparameterdatei

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

{
    "listOfAllowedLocations":  {
      "value": [
        "westus",
        "westeurope",
        "japanwest"
      ]
    }
}

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -BuiltIn | Where-Object {$_.Properties.DisplayName -eq 'Allowed locations'}
PS C:\> New-AzureRmPolicyAssignment -Name 'RestrictLocationPolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -PolicyParameter .\AllowedLocations.json

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzureRMResourceGroup" ab und speichert sie in der variablen $ResourceGroup. Der zweite Befehl ruft die integrierte Richtliniendefinition für zulässige Speicherorte mithilfe des Cmdlets "Get-AzureRmPolicyDefinition" ab und speichert sie in der variablen $Policy. Der letzte Befehl weist die Richtlinie in $Policy an der Ressourcengruppe zu, die durch die ResourceId-Eigenschaft von $ResourceGroup mithilfe der Richtlinienparameterdatei AllowedLocations.json aus dem lokalen Arbeitsverzeichnis identifiziert wird.

Beispiel 4: Richtlinienzuweisung mit einer verwalteten Identität

PS C:\> $ResourceGroup = Get-AzureRmResourceGroup -Name 'ResourceGroup11'
PS C:\> $Policy = Get-AzureRmPolicyDefinition -Name 'VirtualMachinePolicy'
PS C:\> New-AzureRmPolicyAssignment -Name 'VirtualMachinePolicyAssignment' -PolicyDefinition $Policy -Scope $ResourceGroup.ResourceId -Location 'eastus' -AssignIdentity

Der erste Befehl ruft eine Ressourcengruppe namens ResourceGroup11 mithilfe des Cmdlets "Get-AzureRMResourceGroup" ab und speichert sie in der variablen $ResourceGroup. Der zweite Befehl ruft die Richtliniendefinition mit dem Namen VirtualMachinePolicy mithilfe des Cmdlets "Get-AzureRmPolicyDefinition" ab und speichert sie in der $Policy Variablen. Der letzte Befehl weist die Richtlinie in $Policy der Ressourcengruppe zu. Eine verwaltete Identität wird automatisch erstellt und der Richtlinienzuweisung zugewiesen.

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 Microsoft Entra-Identität für diese Richtlinienzuweisung. Die Identität wird verwendet, wenn Bereitstellungen für "deployIfNotExists"-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: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 Anzeigenamen für die Richtlinienzuweisung an.

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

-InformationAction

Gibt an, wie dieses Cmdlet auf ein Informationsereignis reagiert. Zulässige Werte für diesen Parameter:

  • Weiter
  • Ignorieren
  • Inquire
  • SilentlyContinue
  • Beenden
  • Angehalten
Typ:ActionPreference
Aliase:infa
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InformationVariable

Gibt eine Informationsvariable an.

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

-Location

Der Speicherort der Ressourcenidentität der Richtlinienzuweisung. Dies ist erforderlich, wenn der Switch "-AssignIdentity" verwendet wird.

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

-Metadata

Die Metadaten für die neue 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 einen Namen für die Richtlinienzuweisung an.

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

-NotScope

Die nicht für die Richtlinienzuweisung vorgesehenen Bereiche.

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

-PolicyDefinition

Gibt eine Richtlinie als PsPolicyDefinition -Objekt an, das die Richtlinienregel enthält.

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

-PolicyParameter

Die Datei- oder Richtlinienparameterzeichenfolge des Richtlinienparameters.

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

-PolicyParameterObject

Das Richtlinienparameterobjekt.

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

-PolicySetDefinition

Das Richtliniensatzdefinitionsobjekt.

Typ:PSObject
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
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, in dem die Richtlinie zugewiesen werden soll. Wenn Sie beispielsweise einer Ressourcengruppe eine Richtlinie zuweisen möchten, geben Sie Folgendes an: /subscriptions/Name der Abonnement-ID-Ressourcengruppe/resourcegroups/

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

-Sku

Eine Hashtabelle, die SKU-Eigenschaften darstellt. Standardeinstellung für die kostenlose SKU mit den Werten: @{Name = 'A0'; Tier = 'Free'}. Um die Standard-SKU zu verwenden, verwenden Sie die Werte: @{Name = 'A1'; Tier = 'Standard'}.

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