Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Installera en applikation via tjänstekatalogmallen för virtuell maskin.
Skriptet för programinstallation stöder följande scenarier:
- Det vanligaste användningsfallet för installationen av RemoteApp-appen är att distribuera fjärrprogram som kan nås från en Azure Virtual Destop.
- Installera nödvändiga komponenter, till exempel agenter för cybersäkerhet och övervakning.
- Skriptkonfigurationsändringar för kompatibilitet eller programkonfiguration.
Note
Den här exempeldistributionen är bara i demosyfte och representerar inte alla metodtips för administration av nätverk, system eller program.
Förutsättningar
RemoteApp-mallen stöder skript för att automatisera processen med att installera program och konfigurera den virtuella datorn. Innan du kan börja använda installationen av RemoteApp-appen måste du kontrollera att du har:
- En community, enklav, arbetsbelastning, minst en resursgrupp för arbetsbelastningen samt behörighet att skapa resurser i resursgruppen för arbetsbelastningen.
- Aktivera
Advancedunderhållsläge för enklaven så att du kan lägga till Private Link resurser i din enklaverhanterade resursgrupp. - En container (artefakter) i lagringskontot.
- En community-slutpunkt till lagringskontot och eventuellt till en befintlig kopia av AzCopy.exe.
- En kopia av AzCopy.exe
- Ladda ned AzCopy.
- Ladda upp AzCopy installationsprogrammet till lagringskontot på samma nivå som din appmapp.
- Filstruktur:
- storage account - artifacts container - app folder - azcopy.exe
- Enklaveranslutningar mellan de tidigare skapade communityslutpunkterna och enklavens undernät.
Note
Om lagringskontot finns i en annan enklav skapar du en enklavslutpunkt i enklaven med lagringskontot. Skapa sedan en enklavanslutning mellan den lagringskonto enklaven och enklaven där du installerar programmet.
Azure-resurser har distribuerats
- Virtuell dator för RemoteApp-exempel
- Disk
- Virtuell Windows-dator
- Windows tillägg för virtuella datorer
Programvara distribuerad
- Windows
- Valfritt program
Installation
Konfigurera lagringskonto för att installera Visual Studio Code
- Lägg till appmappen i containern i lagringskontot.
- Filstruktur:
- artifacts container - app folder - app installer - main script to install app - (optional) additional scripts - (optional) azcopy.exe
- Filstruktur:
- Ladda ned programinstallationsprogrammet som du behöver. I det här exemplet laddar du nedVscode.exe och laddar upp installationsprogrammet till mappen för lagringskontoappen.
-
main.ps1Ladda upp programinstallationsskriptet som är kompatibelt med den version av Visual Studio Code som du lade till i mappen för lagringskontoappen:# Main powershell script that installs the application Start-Process 'C:/vscode/VSCodeSetup-x64-{version}.exe' -Argument "/VERYSILENT /MERGETASKS=!runcode"
Konfigurationsmall
- På översiktssidan för arbetsbelastningen väljer du
+Add an Azure Service.
- För
Serviceväljer duVirtual Machine.
Bekräfta valet av resursgrupp och välj
NextFliken Grundläggande:
- För
Virtual Machine name, ange namnet på den virtuella datorn. - För
Admin usernameochAdmin passwordanger du det användarnamn och lösenord som du använder för att logga in på den virtuella datorn.
- För
Appflik:
För
App folder URI, ange URI:n till containern. Välj en artefakt i containern, kopiera dess URI, ta bort allt efter mappnamnet i URI:n.
Ursprunglig URI Fast 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>Exempel:
- storageaccountexample.blob.core.windows.net/artifacts/vscode
För
Main Scriptanger du namnet (t.ex.main.ps1) på skriptet som installerar programmet.
Privat container:
För
App folder in private containerväljer dutrueför att ge rollenreaderåtkomst till lagringskontot via den virtuella datorn.För
Storage container resource idhämtar du följande tre delar:<storage-account-resource-id>+ '/blobServices/default/containers/' +<container-name>.- Om du vill hämta
Storage container resource idfrån lagringskontot väljer du "Översikt", väljer "JSON-vy" längst till höger och kopierar resurs-ID:t för lagringskontot.
- För containernamnet kopierar du namnet på den privata container som innehåller artefakterna.
- Exempel på resurs-ID för lagringscontainer:
subscriptions/000000a0-a0a0-000a-00a0-0000aaa0a000/resourceGroups/providers/Microsoft.Storage/storageAccounts/storage-account-example/blobServices/default/containers/container-name
- Om du vill hämta
Om parametern
AzCopy File URIvisas lägger du till URI:n i azcopy.exe från containern- Välj filen och kopiera dess URL:
Exempel på privata containerparametrar:
- Välj
Review and Create, om valideringarna godkänns väljer duCreate. - När resurserna har distribuerats kontrollerar du om appen är installerad på programmets virtuella dator genom att ansluta till den virtuella programdatorn. Ansluta till den virtuella programdatorn
WinGet-installation
Mappstrukturen:
- 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')
- Ladda ned installationsprogram och ladda upp dem till winget-mappen i lagringscontainern
- WinGet-paket
MSIX(Microsoft. DesktopAppInstaller_8wekyb3d8bbwe.msixbundle) - Windows UI Library (Microsoft.UI.Xaml.2.8.x64.appx)
- WinGet-paket
- Skapa och ladda upp skript
- 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
- Fortsätt till Distribuera mall