Instalace aplikace pomocí virtuálního počítače RemoteApp

Nainstalujte aplikaci prostřednictvím šablony katalogu služeb virtuálního počítače.

Skriptování instalace aplikace podporuje následující scénáře:

  • Nejběžnějším případem použití pro instalaci aplikace RemoteApp je nasazení vzdálených aplikací, ke kterým je možné přistupovat z Azure virtuálního destopu.
  • Nainstalujte si požadované součásti, jako jsou třeba agenti pro zabezpečení a monitorování kyberzločinců.
  • Změny konfigurace skriptu pro dodržování předpisů nebo nastavení aplikace

Note

Toto ukázkové nasazení je určené jenom pro ukázkové účely a nepředstavuje všechny osvědčené postupy pro správu sítí, systémů nebo aplikací.

Předpoklady

Šablona RemoteApp podporuje skriptování pro automatizaci procesu instalace aplikací a konfigurace virtuálního počítače. Než začnete používat instalaci aplikace RemoteApp, musíte se ujistit, že máte:

  • Komunita, enkláva, úloha a alespoň jedna skupina prostředků a oprávnění k vytváření prostředků uvnitř skupiny prostředků úloh.
  • Povolte pro svou enklávu Advancedrežim údržby, abyste mohli do spravované skupiny prostředků vaší enklávy přidat prostředky Private Linku.
  • Kontejner (artefakty) v účtu úložiště.
  • Komunitní koncový bod pro účet úložiště a volitelně pro existující kopii AzCopy.exe.
  • Kopie souboru AzCopy.exe
    • Stáhněte si AzCopy.
    • Nahrajte instalační program AzCopy do účtu úložiště na stejné úrovni jako složka aplikace.
    • Struktura souborů:
          - storage account
              - artifacts container
                  - app folder
                  - azcopy.exe 
      
      Snímek obrazovky znázorňující strukturu uspořádání kontejneru úložiště s více složkami aplikací ve stejném kontejneru a pomocí stejné kopie AzCopy.exe
  • Připojení enklávy mezi dříve vytvořenými komunitními koncovými body a podsítí enklávy.

Note

Pokud je účet úložiště v jiné enklávě, vytvořte koncový bod enklávy v enklávě s účtem úložiště. Potom vytvořte propojení enkláv mezi enklávou tohoto účtu úložiště a enklávou, do které instalujete aplikaci.

Nasazené prostředky Azure

  • Příklad virtuálního počítače RemoteApp
    • Disk
    • Virtuální počítač Windows
    • rozšíření virtuálního počítače Windows

Nasazený software

  • Windows
  • Použití podle vašeho výběru

Instalace

Nastavení účtu úložiště pro instalaci Visual Studio Code

  1. Přidejte složku aplikace do kontejneru v rámci účtu úložiště. Diagram znázorňující metodu instalace ve stejné enklávě Diagram znázorňující metodu instalace mimo enklávu, která obsahuje účet úložiště
    • Struktura souborů:
          - artifacts container
              - app folder
                  - app installer
                  - main script to install app
                  - (optional) additional scripts
                  - (optional) azcopy.exe
      
  2. Stáhněte si instalační program aplikace, který potřebujete. V tomto příkladu stáhněte Vscode.exe a nahrajte instalační program do složky aplikace účtu úložiště.
  3. main.ps1 Nahrajte instalační skript aplikace kompatibilní s verzí Visual Studio Code, kterou jste přidali do složky aplikace účtu úložiště:
        # Main powershell script that installs the application
    
        Start-Process 'C:/vscode/VSCodeSetup-x64-{version}.exe' -Argument "/VERYSILENT /MERGETASKS=!runcode"
    

Šablona instalace

  1. Na stránce přehledu úloh vyberte +Add an Azure Service.

Snímek obrazovky se stránkou přehledu úloh

  1. Pro Service vyberte Virtual Machine.

Snímek obrazovky zobrazující virtuální počítač vybraný ze seznamu katalogu služeb

  1. Potvrďte výběr skupiny prostředků a vyberte Next

  2. Karta Základní:

    • U položky Virtual Machine name zadejte název virtuálního počítače.
    • Pro Admin username a Admin password zadejte uživatelské jméno a heslo, které používáte k přihlášení do svého virtuálního počítače.
  3. Karta aplikace:

    • Do App folder URIkontejneru zadejte identifikátor URI. Vyberte artefakt v kontejneru, zkopírujte jeho identifikátor URI, odeberte všechno za názvem složky v identifikátoru URI. Snímek obrazovky znázorňující identifikátor URI složky aplikace pro použití v tomto nasazení

      Původní URI Pevný identifikátor URI
      <storage-account>https://.blob.core.windows.net/<container-name>/<folder-name>/<script>.ps1 <storage-account>https://.blob.core.windows.net/<container-name>/<folder-name>
    • Příklad:

      • storageaccountexample.blob.core.windows.net/artifacts/vscode
    • Pro Main Script zadání názvu (např. main.ps1) skriptu, který nainstaluje aplikaci.

    Snímek obrazovky zobrazující kartu Aplikace během nasazování virtuálního počítače.

Privátní kontejner:

  1. Pro App folder in private container vyberte true, chcete-li povolit roli reader přístup k účtu úložiště prostřednictvím virtuálního počítače.

  2. Pro Storage container resource id získejte následující tři části: <storage-account-resource-id> + '/blobServices/default/containers/' + <container-name>.

    • Pokud chcete získat Storage container resource id, v účtu úložiště vyberte „Přehled“, zcela vpravo vyberte „Zobrazení JSON“ a zkopírujte ID prostředku účtu úložiště.

    Snímek obrazovky s ID prostředku účtu pro použití při tomto nasazení.

    • Jako název kontejneru zkopírujte název privátního kontejneru, který obsahuje artefakty.
    • Příklad ID prostředku úložného kontejneru: subscriptions/000000a0-a0a0-000a-00a0-0000aaa0a000/resourceGroups/providers/Microsoft.Storage/storageAccounts/storage-account-example/blobServices/default/containers/container-name
  3. Pokud se zobrazí parametr AzCopy File URI , přidejte identifikátor URI do azcopy.exe z kontejneru.

    • Vyberte soubor a zkopírujte jeho adresu URL:

    Snímek obrazovky znázorňující strukturu organizace kontejneru úložiště se azcopy.exe souborem

    Snímek obrazovky s identifikátorem URI souboru azcopy.exe

Příklad parametrů privátního kontejneru:

Snímek obrazovky s vyplněnými parametry karty Aplikace.

  1. Vyberte Review and Create, pokud ověření projde, vyberte Create.
  2. Po nasazení prostředků zkontrolujte, jestli je aplikace nainstalovaná na virtuálním počítači aplikace připojením k virtuálnímu počítači aplikace. Připojení k virtuálnímu počítači aplikace

Instalace WinGetu

Struktura složek:

- artifacts container
    - WinGet app folder ('winget')
        - WinGet installer ('Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle')
        - Windows UI Library ('Microsoft.UI.Xaml.2.8.x64.appx')
        - main script to schedule install ('main.ps1')
        - script to install and schedule reboot('install_winget.ps1')
        - ('restart.ps1')

Snímek obrazovky znázorňující artefakty potřebné k instalaci wingetu do RemoteAppu a následné instalaci a správě dalších aplikací pomocí wingetu

  1. Stáhněte si instalační programy a nahrajte je do složky winget v kontejneru úložiště.
  2. Vytváření a nahrávání skriptů
    1. main.ps1
      # This script creates and runs a scheduled task to install the appx package and msix bundle with elevated privileges
      
      $installScriptPath = "C:\winget\install_winget.ps1"
      
      # Create a scheduled task action to run the installation script with elevated permissions
      $taskAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-ExecutionPolicy Bypass -File $installScriptPath"
      
      # Set the task to start 30 seconds from now
      $taskTrigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddSeconds(30)
      $taskPrincipal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
      
      # Register the scheduled task
      Register-ScheduledTask -TaskName "InstallWinget" -Action $taskAction -Trigger $taskTrigger -Principal $taskPrincipal
      
    2. install_winget.ps1
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
      
      Start-Process -FilePath "DISM.exe" -ArgumentList "/Online /Add-ProvisionedAppxPackage /PackagePath:C:\winget\Microsoft.UI.Xaml.2.8.x64.appx /SkipLicense" -NoNewWindow -Wait
      Start-Process -FilePath "DISM.exe" -ArgumentList "/Online /Add-ProvisionedAppxPackage /PackagePath:C:\winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle /SkipLicense" -NoNewWindow -Wait
      
      $wingetDir = 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.23.1791.0_x64__8wekyb3d8bbwe'
      $currentPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
      [System.Environment]::SetEnvironmentVariable("Path", "$currentPath;$wingetDir", [System.EnvironmentVariableTarget]::Machine)
      
      # Schedule the reboot script
      $rebootScriptPath = "C:\winget\reboot.ps1"
      $taskAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-ExecutionPolicy Bypass -File $rebootScriptPath"
      
      # Set the task to start 30 seconds from now
      $taskTrigger = New-ScheduledTaskTrigger -Once -At ((Get-Date).AddSeconds(30))
      $taskPrincipal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
      
      # Register the scheduled task
      Register-ScheduledTask -TaskName "Reboot" -Action $taskAction -Trigger $taskTrigger -Principal $taskPrincipal
      
    3. restart.ps1
      Restart-Computer -Force
      
  3. Pokračovat k nasazení šablony