New-CmAzIaasWvd

Able to deploy multiple Windows Virtual Desktop environments, over many resource groups.

Completes the following:

  • Deploys the Resource Group\s.
  • Deploys Windows Virtual Desktop Hostpool\s.
  • Deploys Windows Virtual Desktop Application Group\s.
  • Deploys Windows Virtual Desktop workspace\s.
  • Deploys the Availability Set\s ready for any hosts.
  • Additionally, able to deploy Windows Virtual Desktop host virtual machine\s, if any are requested.

This command forms part of the IaaS Building Block.

Parameters

-SettingsFile

Required. (String) File path for the settings file to be converted into a settings object.

-SettingsObject

Required. (Object) Object containing the configuration values required to run this cmdlet.

-WhatIf

(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.

-Confirm

(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.

Usage

Example 1

1
New-CmAzIaaSWVD -SettingsFile "c:/directory/SettingsFile.yml"

Example 2

1
New-CmAzIaaSWVD -SettingsObject $SettingsObject

Settings

Beta documentation
The following schema documentation is automatically generated as part of a recent roadmap task. There may be inaccuracies or incomplete information while we flush out bugs; please refer to the packed project settings examples where necessary.

Settings Root.

Component

component [string | null]

Value to determine what cmdlet should be dynamically loaded for these settings.

LogAnalyticsTag

logAnalyticsTag [string | null]

Dependency value to fetch existing resource type.

AzureDeploymentLocation

azureDeploymentLocation [string | null]

Deployment history location.

Default:UK South

WVDEnvironments

wvdEnvironments [array] Mandatory

List of details required to deploy all wvd environments, vm's and any other associated resources.

WVDEnvironmentName

wvdEnvironmentName [string]

Becomes part of the generated resource group, workspace, host pool and desktop group names.

WVDEnvironmentLocation

wvdEnvironmentLocation [string]

Resource group, host pool, application group and workspace deployment locations, serves as the default host vm location as well.

WorkspaceFriendlyName

workspaceFriendlyName [string]

Workspace friendly name on the login portal.

Hostpool

hostpool [object]

Details required to deploy all the hostpool vm's.

HostpoolFriendlyName

hostpoolFriendlyName [string]

Hostpool friendly name on the login portal.

HostpoolType

hostpoolType [string | null]

The hostpool type.

Default:Pooled

Valid values:"Personal" , "Pooled" , "personal" , "pooled" , ""

HostpoolBalancing

hostpoolBalancing [string | null]

Configures the wvd load balancer.

Default:DepthFirst

Valid values:"Automatic" , "Direct" , "DepthFirst" , "BreadthFirst" , "automatic" , "direct" , "depthfirst" , "breadthfirst" , ""

HostpoolMaxSessions

hostpoolMaxSessions [integer | null]

Max session limit of the host pool.

Default:10

HostVM

hostVm [object]

Details required to deploy a host vm.

HostVmNamePrefix

hostVmNamePrefix [string]

Windows computer name, Maximum length of 13, minus 1 for every power of 10 requested machines.

HostVmLocation

hostVmLocation [string | null]

Availability set and host vm deployment location, part of the availability set name, and vm image sku and size availability also depend on this value (defaults to wvd environment location).

HostVmSize

hostVmSize [string | null]

The size of the host virtual machine.

Default:Standard_DS4_v2

HostVmImageType

hostVmImageType [string | null]

The vm image type.

Default:Gallery

Valid values:"Gallery" , "CustomImage" , "gallery" , "customimage" , ""

HostVmImage

hostVmImage [string | null]

The name of the image to use.

Default:Windows-10

HostVmVnet

hostVmVnet [string]

Dependency value to fetch existing resource type.

HostVmSubnet

hostVmSubnet [string]

The name of the subnet in an existing vnet.

HostVmDomain

hostVmDomain [string]

The domain to join the hosts to.

HostVmDomainOU

hostVmDomainOU [string]

The Organizational unit within Active Directory in which to store the hosts.

HostVmAdmin

hostVmAdmin [string]

The domain adminitrative username to join the hosts to the domain.

HostVmKeyVaultTag

hostVmKeyVaultTag [string]

Dependency value to fetch existing resource type.

HostVmKeyVaultAdminSecret

hostVmKeyVaultAdminSecret [string]

Name of the secret in an existing key vault that serves as the host vm admin password.

HostVmCount

hostVmCount [integer]

Number of WVD hosts required.

Examples

The following example files are automatically generated from the settings file schema definition to show how the specification can be used in practise. Cloudmarque can accept both JSON and YAML parameter files.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
  "component": "string",
  "logAnalyticsTag": "string",
  "azureDeploymentLocation": "UK South",
  "wvdEnvironments": [
    {
      "wvdEnvironmentName": "string",
      "wvdEnvironmentLocation": "string",
      "workspaceFriendlyName": "string",
      "hostpool": {
        "hostpoolFriendlyName": "string",
        "hostpoolType": "Pooled",
        "hostpoolBalancing": "DepthFirst",
        "hostpoolMaxSessions": "10"
      },
      "hostVm": {
        "hostVmNamePrefix": "string",
        "hostVmLocation": "string",
        "hostVmSize": "Standard_DS4_v2",
        "hostVmImageType": "Gallery",
        "hostVmImage": "Windows-10",
        "hostVmVnet": "string",
        "hostVmSubnet": "string",
        "hostVmDomain": "string",
        "hostVmDomainOU": "string",
        "hostVmAdmin": "string",
        "hostVmKeyVaultTag": "string",
        "hostVmKeyVaultAdminSecret": "string",
        "hostVmCount": 0
      }
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
component: "string"    # Optional
logAnalyticsTag: "string"    # Optional
azureDeploymentLocation: "UK South"    # Optional
wvdEnvironments:     # Mandatory
  - wvdEnvironmentName: "string"    # Mandatory
    wvdEnvironmentLocation: "string"    # Mandatory
    workspaceFriendlyName: "string"    # Mandatory
    hostpool:     # Mandatory
      hostpoolFriendlyName: "string"    # Mandatory
      hostpoolType: "Pooled"    # Optional
      hostpoolBalancing: "DepthFirst"    # Optional
      hostpoolMaxSessions: "10"    # Optional
    hostVm:     # Mandatory
      hostVmNamePrefix: "string"    # Mandatory
      hostVmLocation: "string"    # Optional
      hostVmSize: "Standard_DS4_v2"    # Optional
      hostVmImageType: "Gallery"    # Optional
      hostVmImage: "Windows-10"    # Optional
      hostVmVnet: "string"    # Mandatory
      hostVmSubnet: "string"    # Mandatory
      hostVmDomain: "string"    # Mandatory
      hostVmDomainOU: "string"    # Mandatory
      hostVmAdmin: "string"    # Mandatory
      hostVmKeyVaultTag: "string"    # Mandatory
      hostVmKeyVaultAdminSecret: "string"    # Mandatory
      hostVmCount: 0    # Mandatory