הסרת התקנה של תוכניות באמצעות PowerShell ב- Windows 10/11


במאמר זה, נבחן כיצד להסיר התקנה של תוכנה במחשב Windows מקומי או מרוחק באמצעות PowerShell. לעתים קרובות, מנהל המערכת משתמש בסקריפטים כדי להסיר את ההתקנה של יישומי Windows. באפשרותך להשתמש במספר גישות כדי להסיר תוכניות משורת הפקודה או מקבצי script של PowerShell.

שימוש ב- WMI להסרת התקנה של תוכניות ב- Windows

הדרך הנפוצה ביותר להסיר תוכניות מותקנות ב- Windows היא להשתמש בפקודות המפנות למרחב השמות WMI. לדוגמה, באפשרותך לבצע שאילתה על מרחב השמות של WMI ולקבל רשימה של תוכניות מותקנות עם הפקודה wmic.

wmic product get name,version

כדי להסיר בשקט יישום מרשימה זו, תוכל להשתמש בפקודה הבאה:

wmic product where name="VMware vCenter Converter Standalone" call uninstall /nointeractive

הפקודה קוראת לפעולת שירות WMI להסרת ההתקנה של אפליקציה (vCenter Converter) באמצעות Windows Installer.

Executing (\\COMPName\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{PROGRAM_GUID}",Name="VMware vCenter Converter Standalone",Version="6.2.0.8466193")->Uninstall()

אם התקנת התוכנית הוסרה בהצלחה, היא תחזור:

Method execution successful. Out Parameters: instance of __PARAMETERS {
ReturnValue = 0; };

להלן פקודות PowerShell דומות להצגה ולהסרת התקנה של יישומים באמצעות WMI:

Get-WmiObject Win32_Product | ft name,version,vendor,packagename
(Get-WmiObject Win32_Product -Filter "Name = 'XXX'").Uninstall()

כדי להסיר תוכנית במחשב מרוחק, הוסף את האפשרות -ComputerName. לדוגמה, כדי להסיר את ההתקנה של Microsoft Office במחשב מרוחק, הפעל את הפקודה הבאה:

$apps = Get-WmiObject -Class Win32_Product -ComputerName wkmn-man23 |where name -Like "Office 16 Click-to-Run*"
$apps.uninstall()

עם זאת, שיטה זו של הסרת יישומים אינה אוניברסלית מספיק עבור כל המקרים האפשריים. אם אתה משווה את רשימת התוכניות המוחזרות דרך מרחב השמות של WMI ואת רשימת האפליקציות בלוח הבקרה של Windows/ ברשימה אפליקציות ותכונות בהגדרות (השתמש בפקודה לגישה מהירה של MS-Settings:

ms-settings:appsfeatures

), תראה שהם שונים. הפקודה wmi הציגה רק רשימה של תוכניות המותקנות באמצעות Windows Installer. הרשימה אינה כוללת את רוב אפליקציות המשתמש (דפדפנים, לדוגמה).

בנוסף, תוכניות UWP מ- Microsoft Store ומודולי PowerShell (באמצעות PowerShellGet) אינם מוצגים.

הסרת התקנה של יישומים במחשב מרוחק באמצעות מודול מנהל החבילות של PowerShell

בגירסאות Build מודרניות של Windows 10/11 וב- Windows Server 2022/2019/2016, באפשרותך להשתמש ברכיבי ה- cmdlet המוכללים של ניהול חבילות PowerShell כדי להתקין או להסיר התקנה של יישומים. במקור, המודול שימש להתקנה/הסרה של מודולי PowerShell. עם זאת, באפשרותך להשתמש בו כדי להסיר את ההתקנה של תוכניות Win32, עדכוני MSU ואפליקציות המותקנות באמצעות מתקיני MSI גם כן.

כדי להציג רשימה מלאה של יישומים מותקנים במחשב מקומי, הפעל את הפקודה הבאה:

Get-Package

הפקודה מחזירה מספר מחלקות של תוכניות המותקנות באמצעות הספקים השונים (ProviderName). באפשרותך להציג רשימת ספקים במחשב באופן הבא:

Get-PackageProvider
  • Programs
  • Msi
  • Msu
  • PowerShellGet
  • NuGet

כדי להציג רשימה של תוכניות המותקנות דרך ספק ספציפי, הפעל פקודה זו:

Get-Package -ProviderName Programs -IncludeWindowsInstaller

השתמש ב- cmdlet Uninstall-Package כדי להסיר את התוכנית:

Get-Package -Name "Notepad++*" | Uninstall-Package

באפשרותך להסיר את מודול PowerShell המותקן. לדוגמה, כדי להסיר את ההתקנה של כל המודולים של VMware.PowerCLI:

Get-Package -ProviderName PowerShellGet -Name "VMware.*" | Uninstall-Package

כדי להסיר התקנה של תוכנית במחשב מרוחק, השתמש ב- cmdlet Invoke-Command:

Invoke-Command -ComputerName mun-dc01 -ScriptBlock { Get-Package -Name "Notepad++*" | Uninstall-Package}

באפשרותך להפעיל את WinRM PowerShell Remoting במחשבי תחום באמצעות GPO.

באפשרותך להשתמש במודול זה כדי להסיר את ההתקנה של יישומי Win32 ומודולי PS בלבד. כדי להסיר אפליקציות של UWP מ- Microsoft Store, השתמש בלחצן

Remove-AppxPackage

או

Remove-AppxProvisionedPackage

רכיבי cmdlet של PowerShell (ראה דוגמה במאמר זה).

כיצד להסיר את ההתקנה של האפליקציה עם הפקודה WinGet?

באפשרותך להשתמש במנהל החבילות החדש WinGet (הוא מובנה ב- Windows 10 ו- 11) כדי להתקין ולהסיר תוכניות ב- Windows. כדי לקבל רשימה של תוכניות במחשב, הפעל:

winget list

הפקודה מחזירה רשימה של תוכניות, כולל אלה המותקנות בשיטות אחרות מלבד winget ורשימה של אפליקציות UWP (APPX).

כדי להסיר אפליקציות המותקנות באמצעות WinGet, הפעל את הפקודה הבאה:

winget uninstall --name 7zip.7zip

כדי להסיר התקנה של אפליקציית MSI ב- Windows, ציין את ה- GUID שלה:

winget uninstall --id "{332C1E78-1D2F-4A64-B718-68095DC6254B}"

כדי להסיר התקנה של אפליקציית UWP:

winget uninstall --id "Microsoft.ZuneVideo_8wekyb3d8bbwe"

עם זאת, winget אינו מאפשר לך להסיר התקנה של תוכניות במחשב מרוחק. כדי לבצע את הפקודה winget במחשב מרוחק, השתמש בתכונות PowerShell Remoting (רכיבי cmdlet של Invoke-Command ו- Enter-PSSession). לדוגמה:

Invoke-Command -ComputerName wkmn-man231 -ScriptBlock {winget uninstall --name 7zip.7zip}

באפשרותך להשתמש בקבצי ה- Script של PowerShell המוצגים כאן כדי להסיר מרחוק התקנה של תוכניות או להפעיל אותן במחשבי תחום באמצעות קבצי script של כניסה ל- SCCM או GPO.