diff --git a/readme.md b/readme.md index 7a3bc76db..5ee6d37b2 100644 --- a/readme.md +++ b/readme.md @@ -52,6 +52,7 @@ The brownfield section contains templates to deploy additional features for Azur - [Migrate monitoring agent from MMA to AMA](./workload/scripts/Monitoring/readme.md) - [Scaling Tool](./workload/bicep/brownfield/scalingTool/readme.md) - [Start VM On Connect](./workload/bicep/brownfield/startVmOnConnect/readme.md) +- [AVD Client (Remote Desktop) Kiosk](https://github.com/Azure/AVDClientKiosk) ### Monitoring workbooks @@ -82,6 +83,10 @@ Custom image is optimized using [Virtual Desktop Optimization Tool (VDOT)](https | Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#optional-custom-image-build-deployment) | | Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/customimage) | +### Specialized AVD use cases + +- [Secure enclaves for research, such as AI](https://github.com/Azure/HubAndSpokeResearchEnclave) + ## Architectural Diagram ![Azure Virtual Desktop accelerator diagram](./workload/docs/diagrams/avd-accelerator-baseline-architecture.png) diff --git a/workload/scripts/Set-SessionHostConfiguration.ps1 b/workload/scripts/Set-SessionHostConfiguration.ps1 index 6dc73030a..2cfc1ee11 100644 --- a/workload/scripts/Set-SessionHostConfiguration.ps1 +++ b/workload/scripts/Set-SessionHostConfiguration.ps1 @@ -83,40 +83,77 @@ try { # Run the Virtual Desktop Optimization Tool (VDOT) ############################################################## # https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool - { - # Download VDOT - $URL = 'https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool/archive/refs/heads/main.zip' - $ZIP = 'VDOT.zip' - Invoke-WebRequest -Uri $URL -OutFile $ZIP - - # Extract VDOT from ZIP archive - Expand-Archive -LiteralPath $ZIP -Force - - # Fix to disable AppX Packages - # As of 2/8/22, all AppX Packages are enabled by default - $Files = (Get-ChildItem -Path .\VDOT\Virtual-Desktop-Optimization-Tool-main -File -Recurse -Filter "AppxPackages.json").FullName - foreach ($File in $Files) { - $Content = Get-Content -Path $File - $Settings = $Content | ConvertFrom-Json - $NewSettings = @() - foreach ($Setting in $Settings) { - $NewSettings += [pscustomobject][ordered]@{ - AppxPackage = $Setting.AppxPackage - VDIState = 'Disabled' - URL = $Setting.URL - Description = $Setting.Description - } - } + # Download VDOT + # $URL = 'https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool/archive/refs/heads/main.zip' + # $ZIP = 'VDOT.zip' + # Get-WebFile -FileName $ZIP -URL $URL + + # # Extract VDOT from ZIP archive + # Expand-Archive -LiteralPath $ZIP -Force + + # # Fix to disable AppX Packages + # # As of 2/8/22, all AppX Packages are enabled by default + # $Files = (Get-ChildItem -Path .\VDOT\Virtual-Desktop-Optimization-Tool-main -File -Recurse -Filter "AppxPackages.json").FullName + # foreach ($File in $Files) { + # $Content = Get-Content -Path $File + # $Settings = $Content | ConvertFrom-Json + # $NewSettings = @() + # foreach ($Setting in $Settings) { + # #Adds Exception to keep Windows ScreenSketch + # If ($Setting.AppxPackage -eq "Microsoft.ScreenSketch") { + # $NewSettings += [pscustomobject][ordered]@{ + # AppxPackage = $Setting.AppxPackage + # VDIState = 'Unchanged' + # URL = $Setting.URL + # Description = $Setting.Description + # } + # } + # #Adds Exception to keep Windows Calculator + # ElseIf ($Setting.AppxPackage -eq "Microsoft.WindowsCalculator") { + # $NewSettings += [pscustomobject][ordered]@{ + # AppxPackage = $Setting.AppxPackage + # VDIState = 'Unchanged' + # URL = $Setting.URL + # Description = $Setting.Description + # } + # } + # #Adds Exception to keep Windows Notepad + # ElseIf ($Setting.AppxPackage -eq "Microsoft.WindowsNotepad") { + # $NewSettings += [pscustomobject][ordered]@{ + # AppxPackage = $Setting.AppxPackage + # VDIState = 'Unchanged' + # URL = $Setting.URL + # Description = $Setting.Description + # } + # } + # #Adds Exception to keep Windows Terminal + # ElseIf ($Setting.AppxPackage -eq "Microsoft.WindowsTerminal") { + # $NewSettings += [pscustomobject][ordered]@{ + # AppxPackage = $Setting.AppxPackage + # VDIState = 'Unchanged' + # URL = $Setting.URL + # Description = $Setting.Description + # } + # } + # #Removes all other AppxPackages not listed above + # Else { + # $NewSettings += [pscustomobject][ordered]@{ + # AppxPackage = $Setting.AppxPackage + # VDIState = 'Disabled' + # URL = $Setting.URL + # Description = $Setting.Description + # } + # } + # } - $JSON = $NewSettings | ConvertTo-Json - $JSON | Out-File -FilePath $File -Force - } + # $JSON = $NewSettings | ConvertTo-Json + # $JSON | Out-File -FilePath $File -Force + # } - # Run VDOT - & .\VDOT\Virtual-Desktop-Optimization-Tool-main\Windows_VDOT.ps1 -Optimizations 'All' -AdvancedOptimizations 'Edge', 'RemoveLegacyIE' -AcceptEULA + # # Run VDOT + # & .\VDOT\Virtual-Desktop-Optimization-Tool-main\Windows_VDOT.ps1 -Optimizations 'AppxPackages', 'Autologgers', 'DefaultUserSettings', 'LocalPolicy', 'NetworkOptimizations', 'ScheduledTasks', 'Services', 'WindowsMediaPlayer' -AdvancedOptimizations 'Edge', 'RemoveLegacyIE' -AcceptEULA - Write-Log -Message 'Optimized the operating system using VDOT' -Type 'INFO' - } + # Write-Log -Message 'Optimized the operating system using VDOT' -Type 'INFO' ############################################################## # Add Recommended AVD Settings @@ -423,8 +460,8 @@ try { if ($IdentityServiceProvider -eq "EntraID" -and $AmdVmSize -eq 'false' -and $NvidiaVmSize -eq 'false') { Start-Process -FilePath 'shutdown' -ArgumentList '/r /t 30' } - } - catch { - Write-Log -Message $_ -Type 'ERROR' - throw - } \ No newline at end of file +} +catch { +Write-Log -Message $_ -Type 'ERROR' +throw +} \ No newline at end of file