Set-AzPolicyAssignment
修改原則指派。
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
Set-AzPolicyAssignment Cmdlet 會修改原則指派。 依標識碼或名稱和範圍指定指派。
範例
範例 1:更新顯示名稱
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -DisplayName 'Do not allow VM creation'
第一個命令會使用 Get-AzResourceGroup Cmdlet 取得名為 ResourceGroup11 的資源群組。 命令會將該物件儲存在 $ResourceGroup 變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 PolicyAssignment 的原則指派。 命令會將該物件儲存在$PolicyAssignment變數中。 最後一個命令會更新$ResourceGroup ResourceId 屬性所識別之資源群組上原則指派的顯示名稱。
範例 2:將系統指派的受控識別新增至原則指派
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'SystemAssigned' -Location 'westus'
第一個命令會使用 Get-AzPolicyAssignment Cmdlet,從目前的訂用帳戶取得名為 PolicyAssignment 的原則指派。 命令會將該物件儲存在$PolicyAssignment變數中。 最後一個命令會將系統指派的受控識別指派給原則指派。
範例 3:將使用者指派的受控識別新增至原則指派
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment'
$UserAssignedIdentity = Get-AzUserAssignedIdentity -ResourceGroupName 'ResourceGroup1' -Name 'UserAssignedIdentity1'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -IdentityType 'UserAssigned' -Location 'westus' -IdentityId $UserAssignedIdentity.Id
第一個命令會使用 Get-AzPolicyAssignment Cmdlet,從目前的訂用帳戶取得名為 PolicyAssignment 的原則指派。 命令會將該物件儲存在$PolicyAssignment變數中。 第二個命令會使用 Get-AzUserAssignedIdentity Cmdlet 取得使用者指派的受控識別 UserAssignedIdentity1,並將它儲存在$UserAssignedIdentity變數中。 最後一個命令會將$UserAssignedIdentity的 Id 屬性所識別的使用者指派受控識別指派給原則指派。
範例 4:使用新的原則參數物件更新原則指派參數
$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
第一個和第二個命令會建立物件,其中包含名稱開頭為 “france” 或 “uk” 的所有 Azure 區域。 第二個命令會將該物件儲存在 $AllowedLocations 變數中。 第三個命令會取得名為 『PolicyAssignment』 的原則指派:命令會將該物件儲存在$PolicyAssignment變數中。 最後一個命令會更新原則指派上名為 PolicyAssignment 的參數值。
範例 5:使用原則參數檔案更新原則指派參數
使用下列內容,在本機工作目錄中建立名為 AllowedLocations.json 的檔案。
{
"listOfAllowedLocations": {
"value": [
"uksouth",
"ukwest",
"francecentral",
"francesouth"
]
}
}
Set-AzPolicyAssignment -Name 'PolicyAssignment' -PolicyParameter .\AllowedLocations.json
此命令會使用從本機工作目錄AllowedLocations.json的原則參數檔案,更新名為 『PolicyAssignment』 的原則指派。
範例 6:更新 enforcementMode
$ResourceGroup = Get-AzResourceGroup -Name 'ResourceGroup11'
$PolicyAssignment = Get-AzPolicyAssignment -Name 'PolicyAssignment' -Scope $ResourceGroup.ResourceId
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -EnforcementMode Default
第一個命令會使用 Get-AzResourceGroup Cmdlet 取得名為 ResourceGroup11 的資源群組。 命令會將該物件儲存在 $ResourceGroup 變數中。 第二個命令會使用 Get-AzPolicyAssignment Cmdlet 來取得名為 PolicyAssignment 的原則指派。 命令會將該物件儲存在$PolicyAssignment變數中。 最後一個命令會更新 $ResourceGroup ResourceId 屬性所識別之資源群組上的原則指派的 enforcementMode 屬性。
範例 7:更新不符合規範的訊息
$PolicyAssignment = Get-AzPolicyAssignment -Name 'VirtualMachinePolicy'
Set-AzPolicyAssignment -Id $PolicyAssignment.ResourceId -NonComplianceMessage @{Message="All resources must follow resource naming guidelines."}
第一個命令會使用 Get-AzPolicyAssignment Cmdlet 取得名為 VirtualMachinePolicy 的原則指派,並將它儲存在$PolicyAssignment變數中。 最後一個命令會以原則拒絕資源時顯示的新訊息,更新原則指派上的不符合規範訊息。
參數
-ApiVersion
指定要使用的資源提供者 API 版本。 如果您未指定版本,此 Cmdlet 會使用最新的可用版本。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssignIdentity
為此原則指派產生並指派系統指派的受控識別。 執行 'deployIfNotExists' 和 'modify' 原則的部署時,將會使用身分識別。 指派身分識別時需要位置。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
原則指派的描述
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisplayName
指定原則指派的新顯示名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnforcementMode
原則指派的強制模式。 目前,有效值為 Default、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
指定此 Cmdlet 修改之原則指派的完整資源識別碼。
Type: | String |
Aliases: | ResourceId |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdentityId
指定要指派給此原則指派之使用者受控識別的標識碼。 如果 'UserAssigned' 值傳遞至 -IdentityType 參數,則需要此值。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IdentityType
指定要指派給此原則指派的受控識別類型。 如果提供 『SystemAssigned』 值,就會產生系統指派的受控識別,並指派給此原則指派。 如果提供 『UserAssigned』 值,則會將透過標識碼傳遞至 -IdentityId 參數的使用者指派身分識別指派給此原則指派。 執行 'deployIfNotExists' 和 'modify' 原則的部署時,將會使用身分識別。 指派身分識別時需要位置。 建立系統指派的身分識別之後,必須使用 New-AzRoleAssignment 來授與身分識別的許可權。 如果使用 AssignIdentity 和 IdentityType 參數,IdentityType 參數就會優先使用。
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
要更新另一個 Cmdlet 輸出的原則指派物件。
Type: | PsPolicyAssignment |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Location
原則指派資源識別的位置。 提供 -IdentityType 值時,這是必要的。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
原則指派的更新元數據。 這可以是包含元數據的檔名路徑,或是作為字串的元數據。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
指定此 Cmdlet 修改的原則指派名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NonComplianceMessage
描述資源不符合原則之原因的不符合規範的不符合規範的訊息。
Type: | PsNonComplianceMessage[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NotScope
原則指派不是範圍。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameter
原則指派的新原則參數檔案路徑或字串。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PolicyParameterObject
原則指派的新原則參數物件。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Pre
指出此 Cmdlet 會在自動判斷要使用的版本時,考慮發行前版本 API 版本。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
指定套用原則的範圍。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
輸入
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]]
輸出
相關連結
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應