functions/DesktopVirtualization/SessionHosts/Register-AVDMFSessionHost.ps1
function Register-AVDMFSessionHost { [CmdletBinding()] param ( [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $AccessLevel, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $HostPoolType, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $HostPoolInstance, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $ResourceGroupName, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [int] $InstanceNumber, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [object] $VMTemplate, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [object] $SubnetID, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $DomainName, [Parameter(Mandatory = $true , ValueFromPipelineByPropertyName = $true )] [string] $OUPath, [PSCustomObject] $Tags = [PSCustomObject]@{} ) process { $ResourceName = New-AVDMFResourceName -ResourceType 'VirtualMachine' -AccessLevel $AccessLevel -HostPoolType $HostPoolType -HostPoolInstance $HostPoolInstance -InstanceNumber $InstanceNumber $script:SessionHosts[$resourceName] = [PSCustomObject]@{ ResourceGroupName = $ResourceGroupName VMSize = $VMTemplate.VMSize TimeZone = $script:TimeZone SubnetID = $SubnetID AdminUsername = $VMTemplate.AdminUserName AdminPassword = $VMTemplate.AdminPassword ImageReference = $VMTemplate.ImageReference Tags = $Tags # Add Session Host WVDArtifactsURL = $VMTemplate.WVDArtifactsURL # Domain Join DomainName = $DomainName OUPath = $OUPath DomainJoinUserName = $script:DomainJoinUserName DomainJoinPassword = $script:DomainJoinPassword } } } |