إزالة التطبيقات غير المرغوب فيها في Windows 10 باستخدام PowerShell

يتضمن Windows 10 عددًا من التطبيقات المدمجة تتراوح من التطبيقات الأساسية مثل الآلة الحاسبة والطقس إلى التطبيقات الأكثر تركيزًا على المهام مثل البريد الإلكتروني والصور. على الرغم من أن هذه التطبيقات المدمجة مناسبة لمعظم الحالات، إلا أنها قد لا تكون مناسبة، أو زائدة، أو غير مدعومة في بيئة العمل. في كثير من الأحيان، يمكن أن تشكل هذه التطبيقات مخاطر أمنية. ولهذا السبب، في هذه المقالة، ستتعلم كيفية إزالة تطبيقات Windows 10 باستخدام PowerShell.

المشكلة هي أن مايكروسوفت لا تُسهِّل إلغاء تثبيت بعض هذه التطبيقات. لا يوجد زر لإلغاء التثبيت عند استخدام الطرق العادية. يجب إلغاء تثبيت التطبيقات المدمجة من خلال PowerShell.

إخلاء المسؤولية: لا تقم بإلغاء تثبيت جميع تطبيقات Windows 10. العديد منها مطلوبة لـ “تجربة” Windows 10 والبعض الآخر، مثل إطار .NET، مطلوب لبرامج أخرى. كن حذرًا في اختيار التطبيقات التي ترغب في إلغاء تثبيتها. يمكنك إعادة تثبيت جميع التطبيقات، ومع ذلك، وسترى أمر PowerShell لذلك في نهاية هذه المقالة

العثور على تطبيقات Windows 10 باستخدام PowerShell

هناك في الواقع نوعان مختلفان من التطبيقات التي سنعمل عليها.

  • حزم AppX – التطبيقات المثبتة مع نظام التشغيل
  • حزم توفير AppX – التطبيقات المثبتة كجزء من إعداد الملف الشخصي للمستخدم للمرة الأولى.

الخطوة الأولى هي الحصول على جرد للتطبيقات المثبتة. للقيام بذلك، ابدأ PowerShell بامتيازات مرتفعة وقم بتشغيل الأمر Get-AppxPackage. سيعيد هذا كل حزم AppX المثبتة على Windows 10.

PS C:\> Get-AppxPackage

Name              : Microsoft.NET.Native.Framework.1.6
Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Architecture      : X64
ResourceId        :
Version           : 1.6.24903.0
PackageFullName   : Microsoft.NET.Native.Framework.1.6_1.6.24903.0_x64__8wekyb3d8bbwe
InstallLocation   : C:\Program Files\WindowsApps\Microsoft.NET.Native.Framework.1.6_1.6.24903.0_x64__8wekyb3d8bbwe
IsFramework       : True
PackageFamilyName : Microsoft.NET.Native.Framework.1.6_8wekyb3d8bbwe
PublisherId       : 8wekyb3d8bbwe
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok
--snip--

الحزم المُخصصة تحتاج إلى أمر مختلف قليلاً وتحتاج أيضاً إلى معامل Online. معامل Online يستخرج الحزم من نظام التشغيل الحالي عبر الإنترنت بدلاً من ملف صورة موجود في دليل محلي. سيتم عرض قائمة بجميع التفاصيل المتعلقة بكل حزمة.

PS C:\> Get-AppxProvisionedPackage -Online


DisplayName  : Microsoft.3DBuilder
Version      : 16.1.1431.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.3DBuilder_16.1.1431.0_neutral_~_8wekyb3d8bbwe
Regions      :

DisplayName  : Microsoft.BingWeather
Version      : 4.31.11905.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.BingWeather_4.31.11905.0_neutral_~_8wekyb3d8bbwe
Regions      :
--snip--

تحديد قائمة التطبيقات

تنتج كلتا الأوامرين قائمة مفصلة وكل ما ترغب فيه هو اسم الحزمة لحزم Appx و DisplayName للحزم المُخصصة كما هو موضح أدناه.

Details of Get-AppxPackage listing
Listing for get-appxprovisionedpackage

لتسهيل الأمور قليلاً ، قم بتوجيه النتائج من خلال Select-Object وحدد خصائص Name و DisplayName. سيتيح لك ذلك الحصول على قائمة مثل تلك الموضحة أدناه. هذه القائمة أسهل في التعامل معها.

Get-AppxPackage | Select-Object Name
Output of get-appxpackage | select object name

الآن يمكنك رؤية التطبيقات التي ترغب في إزالتها من نظام Windows 10. في هذه اللحظة ، تحتاج إلى سرد جميع أسماء الحزم التي ترغب في إزالتها. طريقة للقيام بذلك هي نسخ ولصق تطبيقات Windows 10 التي ترغب في إزالتها وبناء قائمة بهذه الطريقة. إحدى الحيل التي أستخدمها هي حفظ النتائج في ملف نصي ثم فتح ذلك الملف في Visual Studio Code. على سبيل المثال:

Get-AppxPackage | Select-object name | Out-File apps.txt | code apps.txt

في محرر النصوص الخارجي ، ابدأ في بناء مصفوفة من التطبيقات للإزالة.

$ProvisionedAppPackageNames = @()

الآن بعد أن لديك القائمة ، يمكنك بدء بناء نص PowerShell.

إزالة تطبيقات Windows 10 باستخدام PowerShell

يجب أن يكون لديك الآن مصفوفة معرفة في محرر النصوص الخاص بك تحتوي على أسماء جميع حزم تطبيق AppX التي ترغب في إزالتها. لقد وفرت مثالًا أدناه.

$ProvisionedAppPackageNames = @(
    "Microsoft.BingFinance"
    "Microsoft.BingNews"
    "Microsoft.BingSports"
    "Microsoft.BingWeather"
    "Microsoft.MicrosoftOfficeHub"
    "Microsoft.Getstarted"
    "microsoft.windowscommunicationsapps" # البريد، التقويم
    "Microsoft.Office.OneNote"
    "Microsoft.People"
    "Microsoft.SkypeApp"
    "Microsoft.XboxApp"
    "Microsoft.ZuneMusic"
    "Microsoft.ZuneVideo"
)

مع المصفوفة مملوءة بالتطبيقات المحددة التي يجب إزالتها، يمكنك الآن إعداد حلقة foreach لتمرير كل حزمة لإلغاء التثبيت باستخدام أمر Remove-AppXProvisionedPackage وأمر Remove-AppXPackage.

foreach ($ProvisionedAppName in $ProvisionedAppPackageNames) {
    Get-AppxPackage -Name $ProvisionedAppName -AllUsers | Remove-AppxPackage
    Get-AppXProvisionedPackage -Online | Where-Object DisplayName -EQ $ProvisionedAppName | Remove-AppxProvisionedPackage -Online
}

إذا كنت ترغب في إعادة تثبيت جميع التطبيقات لأي سبب، يمكنك دائمًا استخدام أمر add-AppXPackage لتسجيل تطبيق Windows 10 مرة أخرى عن طريق تحديد ملف تكوين التطبيق XML كما هو موضح أدناه.

Get-AppxPackage -AllUsers | Foreach {
    Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
}

الملخص

على الرغم من أن Microsoft لا تسهل إلغاء تثبيت تطبيقات Windows 10، يمكنك دائمًا الاعتماد على PowerShell!

Source:
https://adamtheautomator.com/remove-windows-10-apps/