Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sanal Makine hizmet kataloğu şablonu aracılığıyla bir uygulama yükleyin.
Uygulama yükleme betiği aşağıdaki senaryoları destekler:
- RemoteApp uygulaması yüklemesinin en yaygın kullanım örneği, Azure Sanal Destop'tan erişilebilen uzak uygulamaları dağıtmaktır.
- Siber güvenlik ve izleme aracıları gibi önkoşullarınızı yükleyin.
- Uyumluluk veya uygulama kurulumu için betik yapılandırma değişiklikleri.
Note
Bu örnek dağıtım yalnızca tanıtım amaçlıdır ve ağ, sistem veya uygulama yönetimi için en iyi yöntemlerin tümünü temsil etmez.
Prerequisites
RemoteApp şablonu, uygulamaları yükleme ve Sanal Makineyi yapılandırma işlemini otomatikleştirmek için betik oluşturma işlemini destekler. RemoteApp uygulaması yüklemesini kullanmaya başlamadan önce aşağıdakilere sahip olduğunuzdan emin olmanız gerekir:
- topluluk, enklav, iş yükü ve en az bir iş yükü kaynak grubu ile iş yükü kaynak grubu içinde kaynak oluşturma izinleri.
- Özel Bağlantı kaynaklarını enclave’inizin yönetilen kaynak grubuna ekleyebilmeniz için enclave’iniz için
Advancedbakım modunu etkinleştirin. - kapsayıcı (artefaktlar), depolama hesabı içinde.
- Depolama hesabına ve isteğe bağlı olarak AzCopy.exe'nin mevcut bir kopyasına yönelik bir genel uç nokta.
- AzCopy.exe kopyası
- AzCopy'i indirin.
- AzCopy yükleyicisini uygulama klasörünüzle aynı düzeyde depolama hesabına yükleyin.
- Dosya Yapısı:
- storage account - artifacts container - app folder - azcopy.exe
- Güvenli bölge bağlantıları, önceden oluşturulmuş topluluk uç noktaları ile güvenli bölge alt ağı arasında.
Note
Depolama hesabı farklı bir enclave içindeyse, depolama hesabının bulunduğu enclave içinde bir enclave endpoint oluşturun. Ardından, söz konusu depolama hesabı enclave’i ile uygulamayı yüklediğiniz enclave arasında bir enclave bağlantısı oluşturun.
Dağıtılan Azure Kaynakları
- RemoteApp örneği Sanal Makine
- Disk
- Windows Sanal Makinesi
- Windows Sanal Makine Uzantısı
Dağıtılan Yazılım
- Windows
- Seçtiğiniz uygulama
Yükleme
depolama hesabını Visual Studio Code yükleyecek şekilde ayarlama
- Depolama hesabı içindeki kapsayıcıya uygulama klasörü ekleyin.
- Dosya Yapısı:
- artifacts container - app folder - app installer - main script to install app - (optional) additional scripts - (optional) azcopy.exe
- Dosya Yapısı:
- İhtiyacınız olan uygulama yükleyicisini indirin. Bu örnekte Vscode.exe indirin ve yükleyiciyi depolama hesabı uygulama klasörüne yükleyin.
- Depolama hesabındaki uygulama klasörüne eklediğiniz Visual Studio Code sürümüyle uyumlu
main.ps1uygulama yükleyici betiğini yükleyin:# Main powershell script that installs the application Start-Process 'C:/vscode/VSCodeSetup-x64-{version}.exe' -Argument "/VERYSILENT /MERGETASKS=!runcode"
Kurulum Şablonu
- İş yükü genel bakış sayfasında,
+Add an Azure Serviceöğesini seçin.
-
ServiceiçinVirtual Machineöğesini seçin.
Kaynak grubu seçimini onaylayın ve
NextseçinTemel Bilgiler Sekmesi:
- için
Virtual Machine nameSanal Makinenin adını girin. -
Admin usernameveAdmin passwordiçin, Sanal Makinenizde oturum açmak için kullandığınız kullanıcı adını ve parolayı girin.
- için
Uygulama Sekmesi:
App folder URIiçin, kapsayıcının URI’sini girin. Kapsayıcı içinde bir yapıt seçin, URI'sini kopyalayın, URI'deki klasör adından sonraki her şeyi kaldırın .
Özgün URI Sabit 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>Example:
- storageaccountexample.blob.core.windows.net/artifacts/vscode
Main Scriptalanına, uygulamayı kuran betiğin adını (örn:main.ps1) girin.
Özel Kapsayıcı:
App folder in private containeriçin, Sanal Makine aracılığıyla depolama hesabınareaderrolü erişimine izin vermek üzeretrueseçin.Storage container resource idiçin aşağıdaki üç bölümü alın:<storage-account-resource-id>+ '/blobServices/default/containers/' +<container-name>.-
Storage container resource idalmak için depolama hesabında "Genel Bakış"ı seçin, en sağ köşede "JSON Görünümü"nü seçin ve depolama hesabının kaynak kimliğini kopyalayın.
- Kapsayıcı adı için, yapıtları barındıran özel kapsayıcının adını kopyalayın.
- Örnek depolama kapsayıcısı kaynak kimliği:
subscriptions/000000a0-a0a0-000a-00a0-0000aaa0a000/resourceGroups/providers/Microsoft.Storage/storageAccounts/storage-account-example/blobServices/default/containers/container-name
-
AzCopy File URIparametresi görüntülenirse, kapsayıcıdaki URI'yi azcopy.exe'ye ekleyin- Dosyayı seçin ve URL'sini kopyalayın:
Örnek Özel Kapsayıcı Parametreleri:
-
Review and Createöğesini seçin, doğrulamalar başarılı olursaCreateöğesini seçin. - Kaynaklar dağıtıldıktan sonra Uygulama Sanal Makinesi'ne bağlanarak uygulamanın uygulama Sanal Makinesi'ne yüklenip yüklenmediğini denetleyin. Uygulama Sanal Makinesine bağlanma
WinGet Yüklemesi
Klasör Yapısı:
- 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')
- Yükleyicileri indirin ve depolama kapsayıcısında winget klasörüne yükleyin
- WinGet
MSIXpaketi (Microsoft. DesktopAppInstaller_8wekyb3d8bbwe.msixbundle) - Windows UI Kitaplığı (Microsoft.UI.Xaml.2.8.x64.appx)
- WinGet
- Betik oluşturun ve yükleyin
- 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
- Şablonu Dağıtmaya Devam Et