Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Installieren Sie eine Anwendung über die Vorlage für den Dienstkatalog für virtuelle Computer.
Das Anwendungsinstallationsskripting unterstützt die folgenden Szenarien:
- Der häufigste Anwendungsfall für die RemoteApp-App-Installation besteht darin, Remoteanwendungen bereitzustellen, auf die über ein Azure Virtual Destop zugegriffen werden kann.
- Installieren Sie Ihre erforderlichen Komponenten, z. B. Cybersicherheits- und Überwachungs-Agents.
- Änderungen an der Skriptkonfiguration zur Compliance oder Anwendungskonfiguration.
Note
Diese Beispielbereitstellung dient nur zu Demozwecken und stellt nicht alle bewährten Methoden für die Verwaltung von Netzwerken, Systemen oder Anwendungen dar.
Voraussetzungen
Die RemoteApp-Vorlage unterstützt skripting, um den Prozess der Installation von Anwendungen zu automatisieren und den virtuellen Computer zu konfigurieren. Bevor Sie mit der Verwendung der RemoteApp-App-Installation beginnen können, müssen Sie folgendes sicherstellen:
- Eine Community, Enklave, Workload und mindestens eine Workload-Ressourcengruppe und Berechtigungen zum Erstellen von Ressourcen innerhalb der Workload-Ressourcengruppe.
- Aktivieren Sie
Advancedden Wartungsmodus für Ihre Enklave, damit Sie die Private Link Ressourcen zu Ihrer verwalteten Ressourcengruppe hinzufügen können. - Ein Container (Artefakte) im Speicherkonto.
- Ein Community-Endpunkt für das Storage-Konto und optional auch für eine vorhandene Kopie von AzCopy.exe.
- Eine Kopie von AzCopy.exe
- Laden Sie AzCopy herunter.
- Laden Sie das AzCopy-Installationsprogramm auf das Speicherkonto auf derselben Ebene wie Ihr App-Ordner hoch.
- Dateistruktur:
- storage account - artifacts container - app folder - azcopy.exe
- Enklavenverbindungen zwischen den zuvor hergestellten Communityendpunkten und dem Enklavensubnetz.
Note
Wenn sich das Speicherkonto in einer anderen Enklave befindet, erstellen Sie einen Enklavenendpunkt in der Enklave mit dem Speicherkonto. Erstellen Sie dann eine Enklaveverbindung zwischen dieser Speicherkonto-Enklave und der Enklave, in der Sie die Anwendung installieren.
Bereitgestellte Azure-Ressourcen
- RemoteApp-Beispiel für einen virtuellen Computer
- Datenträger
- Virtueller Windows-Computer
- Windows-Erweiterung für virtuelle Computer
Bereitgestellte Software
- Windows
- Anwendung Ihrer Wahl
Installation
Einrichten des Speicherkontos zum Installieren von Visual Studio Code
- Fügen Sie dem Container im Speicherkonto App-Ordner hinzu.
- Dateistruktur:
- artifacts container - app folder - app installer - main script to install app - (optional) additional scripts - (optional) azcopy.exe
- Dateistruktur:
- Laden Sie das benötigte Anwendungsinstallationsprogramm herunter. In diesem Beispiel laden Sie Vscode.exe herunter, und laden Sie das Installationsprogramm in den Ordner "Speicherkonto-App" hoch.
- Laden Sie das
main.ps1Installer-Skript hoch, das mit der Version von Visual Studio Code kompatibel ist, die Sie dem App-Ordner des Speicherkontos hinzugefügt haben:# Main powershell script that installs the application Start-Process 'C:/vscode/VSCodeSetup-x64-{version}.exe' -Argument "/VERYSILENT /MERGETASKS=!runcode"
Setupvorlage
- Wählen Sie auf der Seite "Workloadübersicht" die Option
+Add an Azure Serviceaus.
- Wählen Sie
ServicefürVirtual Machineaus.
Bestätigen Sie die Auswahl der Ressourcengruppe, und wählen Sie
NextRegisterkarte "Grundlagen":
- Für
Virtual Machine namegeben Sie den Namen der virtuellen Maschine ein. - Geben Sie für
Admin usernameundAdmin passwordden Benutzernamen und das Kennwort ein, die Sie zum Anmelden bei Ihrer virtuellen Maschine verwenden.
- Für
App-Tab:
Geben Sie für
App folder URIden URI in den Container ein. Wählen Sie ein Artefakt innerhalb des Containers aus, kopieren Sie den URI, entfernen Sie alles nach dem Ordnernamen im URI.
Ursprünglicher URI Feste 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>Beispiel:
- storageaccountexample.blob.core.windows.net/artifacts/vscode
Geben Sie in
Main Scriptden Namen (z. B.main.ps1) des Skripts ein, das die Anwendung installiert.
Privater Container:
Wählen Sie für
App folder in private containertrueaus, um der Rollereaderüber die virtuelle Maschine Zugriff auf das Speicherkonto zu gewähren.Für
Storage container resource iddie folgenden drei Teile abrufen:<storage-account-resource-id>+ '/blobServices/default/containers/' +<container-name>.- Um
Storage container resource idaus dem Speicherkonto abzurufen, wählen Sie „Übersicht“ und dann ganz rechts „JSON-Ansicht“ aus, und kopieren Sie die Ressourcen-ID des Speicherkontos.
- Kopieren Sie für den Containernamen den Namen des privaten Containers, der die Artefakte enthält.
- Beispiel für eine Speichercontainerressourcen-ID:
subscriptions/000000a0-a0a0-000a-00a0-0000aaa0a000/resourceGroups/providers/Microsoft.Storage/storageAccounts/storage-account-example/blobServices/default/containers/container-name
- Um
Wenn der Parameter
AzCopy File URIangezeigt wird, fügen Sie den URI zum azcopy.exe aus dem Container hinzu- Wählen Sie die Datei aus, und kopieren Sie die URL:
Beispielparameter für private Container:
- Wählen Sie
Review and Createaus, und wenn die Validierungen erfolgreich sind, wählen SieCreate. - Nachdem Ressourcen bereitgestellt wurden, überprüfen Sie, ob die App auf dem virtuellen Anwendungscomputer installiert ist, indem Sie eine Verbindung mit dem virtuellen Anwendungscomputer herstellen. Herstellen einer Verbindung mit dem virtuellen Anwendungscomputer
WinGet-Installation
Ordnerstruktur:
- 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')
- Laden Sie Installer herunter, und laden Sie sie in den Winget-Ordner im Speichercontainer hoch.
- WinGet-Paket
MSIX(Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle) - Windows-UI-Bibliothek (Microsoft.UI.Xaml.2.8.x64.appx)
- WinGet-Paket
- Erstellen und Hochladen von Skripts
- 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 - 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 - restart.ps1
Restart-Computer -Force
- main.ps1
- Gehen Sie zu Vorlage bereitstellen.