إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تثبيت تطبيق عبر قالب كتالوج خدمات الآلة الافتراضية.
يدعم برمجة تثبيت التطبيق السيناريوهات التالية:
- أكثر حالات الاستخدام شيوعا لتثبيت تطبيق RemoteApp هو نشر تطبيقات عن بعد يمكن الوصول إليها من خلال Azure Virtual Destop.
- قم بتثبيت متطلباتك الأساسية مثل الأمن السيبراني ووكلاء المراقبة.
- تغييرات في تكوين السكريبت للامتثال أو إعداد التطبيقات.
ملحوظة
هذا النشر النموذجي مخصص فقط لأغراض العرض ولا يمثل جميع أفضل الممارسات لإدارة الشبكات أو الأنظمة أو التطبيقات.
المتطلبات المسبقه
يدعم قالب RemoteApp البرمجة النصية لأتمتة عملية تثبيت التطبيقات وتكوين الآلة الافتراضية. قبل أن تبدأ باستخدام تثبيت تطبيق RemoteApp، عليك التأكد من أنك تملك:
- مجتمع، وجماعة، وعبء عمل، وعلى الأقل مجموعة موارد عبء عمل واحدة وأصوات لإنشاء موارد داخل مجموعة موارد عبء العمل.
- فعل
Advancedوضع الصيانة لمنطقة المحافظة الخاصة بك حتى تتمكن من إضافة موارد Private Link إلى مجموعة الموارد المدارة في ال enclave الخاص بك. - حاوية (تشويش أثرية) داخل حساب التخزين.
- نقطة نهاية مجتمعية لحساب التخزين واختياريا لنسخة موجودة من AzCopy.exe.
- نسخة من AzCopy.exe
- تنزيل AzCopy.
- قم بتحميل مثبت AzCopy إلى حساب التخزين بنفس مستوى مجلد التطبيقات.
- هيكل الملف:
- storage account - artifacts container - app folder - azcopy.exe
- روابط Enclave بين نقاط نهاية المجتمع التي تم إنشاؤها سابقا وشبكة الإنكليف.
ملحوظة
إذا كان حساب التخزين في منطقة مختلفة، أنشئ نقطة نهاية في ال enclave مع حساب التخزين. ثم أنشئ اتصال enclave بين ذلك الحساب المخزن والموقع الذي تقوم فيه بتثبيت التطبيق.
Azure Resources المنتشرة
- مثال على RemoteApp على آلة افتراضية
- قرص
- جهاز Windows الظاهري
- إضافة Windows Virtual Machine
البرمجيات المنشورة
- Windows
- تطبيق من اختيارك
التثبيت
قم بإعداد حساب التخزين لتثبيت تعليمة Visual Studio برمجية
- أضف مجلد التطبيقات إلى الحاوية داخل حساب التخزين.
- هيكل الملف:
- artifacts container - app folder - app installer - main script to install app - (optional) additional scripts - (optional) azcopy.exe
- هيكل الملف:
- قم بتحميل مثبت التطبيق الذي تحتاجه. في هذا المثال، قم بتحميل Vscode.exe ورفع المثبت إلى مجلد تطبيق حساب التخزين.
- قم بتحميل
main.ps1سكريبت تثبيت التطبيق المتوافق مع النسخة التي أضفتها من تعليمة Visual Studio برمجية إلى مجلد تطبيق حساب التخزين:# Main powershell script that installs the application Start-Process 'C:/vscode/VSCodeSetup-x64-{version}.exe' -Argument "/VERYSILENT /MERGETASKS=!runcode"
قالب الإعداد
- في صفحة نظرة عامة على عبء العمل، اختر
+Add an Azure Service.
- ل
Service، اخترVirtual Machine.
أكد اختيار مجموعة الموارد واختر
Nextتبويب الأساسيات:
- ل
Virtual Machine name، أدخل اسم الآلة الافتراضية. - ل
Admin usernameوAdmin password، أدخل اسم المستخدم وكلمة المرور التي تستخدمها لتسجيل الدخول إلى جهازك الافتراضي.
- ل
تبويب التطبيق:
ل
App folder URI، أدخل URI إلى الحاوية. اختر عنصرا داخل الحاوية، انسخ URI، وأحذف كل شيء بعد اسم المجلد في URI.
URI الأصلي URI ثابت https:// <storage-account>.blob.core.windows.net//<container-name><folder-name>/<script>.ps1https:// <storage-account>.blob.core.windows.net/<container-name>/<folder-name>مثال:
- storageaccountexample.blob.core.windows.net/artifacts/vscode
للإدخال
Main Scriptاستخدم اسم (مثلا:main.ps1) السكريبت الذي يثبت التطبيق.
الحاوية الخاصة:
للسماح
App folder in private containerبالوصول إلى حساب التخزين عبر الآلةtruereaderالافتراضية.للحصول
Storage container resource idعلى الأجزاء الثلاثة التالية:<storage-account-resource-id>+ '/blobServices/default/containers/' +<container-name>.- للحصول
Storage container resource idعلى ، من حساب التخزين، اختر "نظرة عامة"، ثم اختر "عرض JSON" في الزاوية اليمنى البعيدة، وانسخ معرف مورد حساب التخزين.
- بالنسبة لاسم الحاوية، انسخ اسم الحاوية الخاصة التي تحتوي على القطع الأثرية.
- مثال على معرف موارد حاوية التخزين:
subscriptions/000000a0-a0a0-000a-00a0-0000aaa0a000/resourceGroups/providers/Microsoft.Storage/storageAccounts/storage-account-example/blobServices/default/containers/container-name
- للحصول
إذا تم عرض المعامل
AzCopy File URI، أضف URI إلى azcopy.exe الحاوية- اختر الملف، وانسخ رابط الرابط:
أمثلة على معلمات الحاوية الخاصة:
- اختر
Review and Create، إذا نجحت عمليات التحقق، اخترCreate. - بمجرد نشر الموارد، تحقق مما إذا كان التطبيق مثبتا على التطبيق الافتراضي من خلال الاتصال بالآلة الافتراضية التطبيقية. الاتصال بالآلة الافتراضية للتطبيق
تركيب WinGet
هيكل المجلد:
- 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')
- قم بتحميل المثبتات ورفعها إلى مجلد winget في حاوية التخزين
- حزمة WinGet
MSIX(Microsoft. DesktopAppInstaller_8wekyb3d8bbwe.msixbundle) - مكتبة واجهة مستخدم Windows (Microsoft. واجهة مستخدم. Xaml.2.8.x64.appx)
- حزمة WinGet
- إنشاء ورفع السكريبتات
- 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
- تابع إلى قالب النشر