Created
June 5, 2020 14:21
-
-
Save JamesDLD/7090a6a67e9d1aef13590cbf83468f60 to your computer and use it in GitHub Desktop.
The following script will create the Policy initiative definition.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Login first with Connect-AzAccount if not using Cloud Shell | |
## Variable | |
$parameters = Invoke-RestMethod -Uri "https://raw.githubusercontent.com/JamesDLD/AzureRm-Template/master/Create-WvdDiagnosticsPolicy/parameters.json" | |
## Create the Policy Definition for the Windows Virtual Desktop Workspaces | |
$workspacesPolicy = New-AzPolicyDefinition -Name 'Windows Virtual Desktop Workspaces Diagnostic Settings' ` | |
-DisplayName 'Deploy Diagnostic Settings for Windows Virtual Desktop Workspaces to Log Analytics workspace' ` | |
-Policy "https://raw.githubusercontent.com/JamesDLD/AzureRm-Template/master/Create-WvdDiagnosticsPolicy/workspaces.json" ` | |
-Parameter ($parameters | ConvertTo-Json) ` | |
-Metadata '{"category":"Log Monitor"}' ` | |
-Mode Indexed | |
## Create the Policy Definition for the Windows Virtual Desktop Host Pools | |
$hostpoolsPolicy = New-AzPolicyDefinition -Name 'Windows Virtual Desktop Host Pools Diagnostic Settings' ` | |
-DisplayName 'Deploy Diagnostic Settings for Windows Virtual Desktop Host Pools to Log Analytics workspace' ` | |
-Policy "https://raw.githubusercontent.com/JamesDLD/AzureRm-Template/master/Create-WvdDiagnosticsPolicy/hostpools.json" ` | |
-Parameter ($parameters | ConvertTo-Json) ` | |
-Metadata '{"category":"Log Monitor"}' ` | |
-Mode Indexed | |
## Create the Policy Definition for the Windows Virtual Desktop Application Groups | |
$applicationgroupsPolicy = New-AzPolicyDefinition -Name 'Windows Virtual Desktop Application Groups Diagnostic Settings' ` | |
-DisplayName 'Deploy Diagnostic Settings for Windows Virtual Desktop Application Groups to Log Analytics workspace' ` | |
-Policy "https://raw.githubusercontent.com/JamesDLD/AzureRm-Template/master/Create-WvdDiagnosticsPolicy/applicationgroups.json" ` | |
-Parameter ($parameters | ConvertTo-Json) ` | |
-Metadata '{"category":"Log Monitor"}' ` | |
-Mode Indexed | |
## Prepare the Policy Definition variable for the Policy Initiative | |
$params = @{ | |
effect = @{ value = "[parameters('effect')]" }; | |
profileName = @{ value = "[parameters('profileName')]" }; | |
logAnalytics = @{ value = "[parameters('logAnalytics')]" }; | |
logsEnabled = @{ value = "[parameters('logsEnabled')]" } | |
} | |
$PolicyDefinitions = @( | |
@{ | |
policyDefinitionId = $workspacesPolicy.PolicyDefinitionId | |
parameters = $params | |
}; | |
@{ | |
policyDefinitionId = $hostpoolsPolicy.PolicyDefinitionId | |
parameters = $params | |
}; | |
@{ | |
policyDefinitionId = $applicationgroupsPolicy.PolicyDefinitionId | |
parameters = $params | |
} | |
) | |
## Create the Policy Iniative for the Windows Virtual Desktop Resources | |
New-AzPolicySetDefinition -Name 'Windows Virtual Desktop Resources Diagnostic Settings' ` | |
-DisplayName 'Deploy Diagnostic Settings for Windows Virtual Desktop Resources to Log Analytics workspace' ` | |
-PolicyDefinition ($PolicyDefinitions | ConvertTo-Json -Depth 3) ` | |
-Parameter ($parameters | ConvertTo-Json) ` | |
-Metadata '{"category":"Log Monitor"}' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment