From d17c352d58bdb94ad634fbca01993a3be2b90a2e Mon Sep 17 00:00:00 2001 From: Dany Contreras <78437433+danycontre@users.noreply.github.com> Date: Tue, 12 Nov 2024 10:40:52 -0600 Subject: [PATCH 1/3] updates (#711) --- .../scripts/Set-SessionHostConfiguration.ps1 | 109 ++++++++++++------ 1 file changed, 73 insertions(+), 36 deletions(-) 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 From eb5a19a2a80c7ecc037dcaef114a098a0992b2d1 Mon Sep 17 00:00:00 2001 From: Shawn Meyer <49066369+shawntmeyer@users.noreply.github.com> Date: Mon, 18 Nov 2024 15:38:52 -0500 Subject: [PATCH 2/3] Added AVD Client Kiosk as a Brownfield Link (#714) * Update readme.md * Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7a3bc76db..ae3e540d0 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 From b7f2c4cf57b432112b91495ac53e503c73d27b31 Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 2 Dec 2024 09:41:57 -0500 Subject: [PATCH 3/3] Add research enclaves use case (#716) Added new heading for specialized AVD use case links and added link to hub-and-spoke research enclave project. As discussed with @swathibhat1. --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index ae3e540d0..5ee6d37b2 100644 --- a/readme.md +++ b/readme.md @@ -83,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)