Set-AzPolicyAssignment

Ändrar en principtilldelning.

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>]

Description

Cmdleten Set-AzPolicyAssignment ändrar en principtilldelning. Ange en tilldelning efter ID eller efter namn och omfång.

Exempel

Exempel 1: Uppdatera visningsnamnet

$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-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'
Set-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'
 Set-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 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 ID-egenskapen 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'
Set-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

Skapa en fil med namnet AllowedLocations.json i den lokala arbetskatalogen med följande innehåll.

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

Set-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
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.

Exempel 7: Uppdatera icke-efterlevnadsmeddelanden

$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-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.

Parametrar

-ApiVersion

Anger vilken version av resursprovider-API:et som ska användas. Om du inte anger någon version använder den här cmdleten den senaste tillgängliga versionen.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssignIdentity

Generera och tilldela en systemtilldelad hanterad identitet för den här principtilldelningen. Identiteten används vid körning av distributioner för "deployIfNotExists" och "modify"-principer. Plats krävs när du tilldelar en identitet.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Beskrivningen för principtilldelning

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DisplayName

Anger ett nytt visningsnamn för principtilldelningen.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnforcementMode

Tvingande läge för principtilldelning. För närvarande är giltiga värden Standard, DoNotEnforce.

Type:Nullable<T>[PolicyAssignmentEnforcementMode]
Accepted values:Default, DoNotEnforce
Position:Named
Default value:Default
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

Anger det fullständigt kvalificerade resurs-ID för principtilldelningen som den här cmdleten ändrar.

Type:String
Aliases:ResourceId
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IdentityId

Anger ID för den användartilldelade hanterade identitet som ska tilldelas till den här principtilldelningen. Det här värdet krävs om värdet "UserAssigned" skickas till parametern -IdentityType.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdentityType

Anger vilken typ av hanterad identitet som ska tilldelas till den här principtilldelningen. Om värdet "SystemAssigned" anges genereras en systemtilldelad hanterad identitet och tilldelas till den här principtilldelningen. Om värdet "UserAssigned" anges skickas den användartilldelade identiteten via dess ID till parametern -IdentityId till den här principtilldelningen. Identiteten används vid körning av distributioner för "deployIfNotExists" och "modify"-principer. Plats krävs när du tilldelar en identitet. Behörigheter måste beviljas till identiteten med hjälp av New-AzRoleAssignment när den systemtilldelade identiteten har skapats. Parametern IdentityType får företräde om både parametern AssignIdentity och IdentityType används.

Type:Nullable<T>[ManagedIdentityType]
Accepted values:SystemAssigned, UserAssigned, None
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Principtilldelningsobjektet som skulle uppdateras som var utdata från en annan cmdlet.

Type:PsPolicyAssignment
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

Platsen för principtilldelningens resursidentitet. Detta krävs när värdet -IdentityType anges.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Uppdaterade metadata för principtilldelningen. Detta kan antingen vara en sökväg till ett filnamn som innehåller metadata eller metadata som en sträng.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Anger namnet på den principtilldelning som den här cmdleten ändrar.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NonComplianceMessage

De icke-efterlevnadsmeddelanden som beskriver varför en resurs inte är kompatibel med principen.

Type:PsNonComplianceMessage[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NotScope

Principtilldelningen omfattar inte omfång.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameter

Den nya principparametrarnas filsökväg eller sträng för principtilldelningen.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PolicyParameterObject

Det nya principparametrarobjektet för principtilldelningen.

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Pre

Anger att den här cmdleten tar hänsyn till förhandsversioner av API:et när den automatiskt avgör vilken version som ska användas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Anger det omfång som principen tillämpas på.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Indata

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[]

Utdata

PsPolicyAssignment