New-AzureRmPolicyAssignment
Tworzy przypisanie zasad.
Ostrzeżenie
Moduł AzureRM PowerShell jest oficjalnie przestarzały od 29 lutego 2024 r. Zaleca się migrowanie użytkowników z modułu AzureRM do modułu Az programu PowerShell w celu zapewnienia ciągłej obsługi i aktualizacji.
Mimo że moduł AzureRM może nadal działać, nie jest już utrzymywany ani obsługiwany, umieszczając wszelkie dalsze zastosowania według uznania i ryzyka użytkownika. Zapoznaj się z naszymi zasobami migracji, aby uzyskać wskazówki dotyczące przejścia do modułu Az.
Składnia
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>]
Opis
Polecenie cmdlet New-AzureRmPolicyAssignment tworzy przypisanie zasad. Określ zasady i zakres.
Przykłady
Przykład 1. Przypisanie zasad na poziomie grupy zasobów
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
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzureRMResourceGroup i zapisuje ją w zmiennej $ResourceGroup. Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzureRmPolicyDefinition i zapisuje ją w zmiennej $Policy. Ostatnie polecenie przypisuje zasady w $Policy na poziomie grupy zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup.
Przykład 2. Przypisanie zasad na poziomie grupy zasobów z obiektem parametru zasad
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
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzureRMResourceGroup. Polecenie przechowuje ten obiekt w zmiennej $ResourceGroup. Drugie polecenie pobiera wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzureRmPolicyDefinition. Polecenie przechowuje ten obiekt w zmiennej $Policy. Trzecie i czwarte polecenia tworzą obiekt zawierający wszystkie regiony platformy Azure o nazwie "east". Polecenia przechowują ten obiekt w zmiennej $AllowedLocations. Ostatnie polecenie przypisuje zasady w $Policy na poziomie grupy zasobów przy użyciu obiektu parametru zasad w $AllowedLocations. Właściwość ResourceId $ResourceGroup identyfikuje grupę zasobów.
Przykład 3. Przypisanie zasad na poziomie grupy zasobów z plikiem parametrów zasad
Utwórz plik o nazwie AllowedLocations.json w lokalnym katalogu roboczym z następującą zawartością.
{
"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
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzureRMResourceGroup i zapisuje ją w zmiennej $ResourceGroup. Drugie polecenie pobiera wbudowaną definicję zasad dla dozwolonych lokalizacji przy użyciu polecenia cmdlet Get-AzureRmPolicyDefinition i zapisuje ją w zmiennej $Policy. Ostatnie polecenie przypisuje zasady w $Policy w grupie zasobów zidentyfikowanej przez właściwość ResourceId $ResourceGroup przy użyciu pliku parametrów zasad AllowedLocations.json z lokalnego katalogu roboczego.
Przykład 4. Przypisanie zasad z tożsamością zarządzaną
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
Pierwsze polecenie pobiera grupę zasobów o nazwie ResourceGroup11 przy użyciu polecenia cmdlet Get-AzureRMResourceGroup i zapisuje ją w zmiennej $ResourceGroup. Drugie polecenie pobiera definicję zasad o nazwie VirtualMachinePolicy przy użyciu polecenia cmdlet Get-AzureRmPolicyDefinition i zapisuje ją w zmiennej $Policy. Ostatnie polecenie przypisuje zasady w $Policy do grupy zasobów. Tożsamość zarządzana jest tworzona automatycznie i przypisywana do przypisania zasad.
Parametry
-ApiVersion
Określa wersję interfejsu API dostawcy zasobów do użycia. Jeśli nie określisz wersji, to polecenie cmdlet używa najnowszej dostępnej wersji.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AssignIdentity
Wygeneruj i przypisz tożsamość entra firmy Microsoft dla tego przypisania zasad. Tożsamość będzie używana podczas wykonywania wdrożeń dla zasad "deployIfNotExists". Lokalizacja jest wymagana podczas przypisywania tożsamości.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure
Typ: | IAzureContextContainer |
Aliasy: | AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Opis przypisania zasad
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa nazwę wyświetlaną przypisania zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-InformationAction
Określa, jak to polecenie cmdlet reaguje na zdarzenie informacyjne. Dopuszczalne wartości tego parametru to:
- Kontynuuj
- Ignoruj
- Zapytać
- SilentlyContinue
- Zatrzymaj
- Wstrzymanie
Typ: | ActionPreference |
Aliasy: | infa |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InformationVariable
Określa zmienną informacyjną.
Typ: | String |
Aliasy: | iv |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Location
Lokalizacja tożsamości zasobu przypisania zasad. Jest to wymagane, gdy jest używany przełącznik -AssignIdentity.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Metadata
Metadane nowego przypisania zasad. Może to być ścieżka do nazwy pliku zawierającej metadane lub metadanych jako ciąg.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwę przypisania zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-NotScope
Zakresy nie są zakresami przypisywania zasad.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PolicyDefinition
Określa zasady jako obiekt PsPolicyDefinition , który zawiera regułę zasad.
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PolicyParameter
Ścieżka pliku parametru zasad lub ciąg parametru zasad.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PolicyParameterObject
Obiekt parametru zasad.
Typ: | Hashtable |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PolicySetDefinition
Obiekt definicji zestawu zasad.
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Pre
Wskazuje, że to polecenie cmdlet uwzględnia wersje interfejsu API wersji wstępnej, gdy automatycznie określa wersję do użycia.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Scope
Określa zakres, w którym mają zostać przypisane zasady.
Aby na przykład przypisać zasady do grupy zasobów, określ następujące elementy: /subscriptions/
nazwa grupy zasobów identyfikatora/resourcegroups/
subskrypcji
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Sku
Tabela skrótów reprezentująca właściwości jednostki SKU. Domyślnie jest to bezpłatna jednostka SKU z wartościami: @{Name = 'A0'; Tier = 'Free'}
. Aby użyć jednostki SKU w warstwie Standardowa, użyj wartości: @{Name = 'A1'; Tier = 'Standard'}
.
Typ: | Hashtable |
Aliasy: | SkuObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |