Sida looga helo liiska dhammaan software-ka lagu rakibay PowerShell

Cusbooneysiintii ugu dambeysay: 16/10/2025
Author: Isaac
  • Diiwaanka (furaha uninstall) waa isha ugu kalsoonida badan waxa ay soo bandhigaan “Ku dar ama Ka saar Barnaamijyada”.
  • Win32_Product waxay u shaqeysaa MSI, laakiin way gaabis tahay waxayna sababi kartaa dayactir; si taxadar leh u isticmaal.
  • Hel-Package liss PackageManagement (PowerShellGet/NuGet), ma aha dhammaan software-ka nidaamka.
  • Dhoofinta oo barbar dhig TXT/CSV oo Isbarbardhiga Shayga; Geek Uninstaller iyo UninstallView waxay fududeeyaan ka warbixinta.

Ku tax software lagu rakibay PowerShell

Haddii aad waligaa u baahatay inaad si dhakhso leh u ogaato barnaamijyada ku jira kumbuyuutarka WindowsHaddi aad maamulayso server-yada aan lahayn isdhexgal garaafeed ama dib u rakibida nidaamkaaga, waxaad u baahan doontaa inaad haysato alaab la isku halayn karo. Maqaalkan, waxaan si faahfaahsan u sharxi doonaa, talaabo talaabo. dhammaan siyaabaha loo taxay iyo dhoofinta software rakibay isticmaalka PowerShell, WMI, Diiwaanka, iyo agabka cid saddexaad.

Waxaan isku dari doonaa dhowr farsamooyin oo la xaqiijiyay, ka faallooda faa'iidooyinka iyo khasaarooyinka, waxaadna arki doontaa amarada si toos ah fursadaha horumarsan sida Hel-Xidhmada Xidhmada Maamulidda, Weydiimaha Diiwaangelinta (Uninstall), fulinta fog iyo xitaa isbarbardhigga inta u dhaxaysa liisaska ka hor iyo ka dib qaabIntaa waxaa dheer, waxaan ku dari doonaa TXT/CSV/HTML fursadaha dhoofinta iyo, kuwa doorbidaya, yutiilitida qolo saddexaad oo tan ku sameeya laba dhagsi oo keliya.

Waa maxay sababta ay mudan tahay in aad taxdo barnaamijyadaada

Haysashada alaab cad waxay ka hortagtaa indho-indheynta marka dib loo rakibayo waxayna caawisaa ogaanshaha software-ka aanad isticmaalin. Kumbuyuutar badan ayaa urursada codsiyo aan la tijaabin kuwaas oo la ilaaway, iyaga oo qaadanaya meel bannaan iyo, ka sii daran. qaar ayaa ku haray gadaal iyagoo isticmaalaya kheyraadka adoon ogayn.

Liisku wuxuu kuu ogolaanayaa inaad dib u eegto jaleecada, halkii aad ka dhex wareegi lahayd interface-ka "Apps & Features". Waxa kale oo ay ka dhigaysaa taageerada, xisaabinta, iyo u hoggaansanaanta, oo waxay kuu kaydisaa wakhti haddii aad maamusho kombuyuutarro badan oo Windows Core ah ama adeegayaal Ma jiro GUI oo wax walba waxaa lagu sameeyaa iyada oo loo marayo console..

Farsamooyinkani waxay ku shaqeeyaan noocyo badan oo Windows ah, oo ay ku jiraan Windows Server 2012 R2, 2016, 2019 iyo Windows 7/10/11, oo leh nuances aan ka faalloon doono marka loo baahdo.

Waxaad arki doontaa mar dambe in dhammaan hababka aysan soo bandhigin wax isku mid ah: PowerShell, WMI, Registry, iyo PackageManagement dhammaan weydiimaha ilo kala duwan, Taasi waa sababta ay muhiim u tahay in la ogaado waxa farsamo kastaa daboolayo iyo xaddidaadda. si loo doorto midda saxda ah xaalad kasta.

Liiska PowerShell ee la rakibay

Hababka degdega ah ee PowerShell si aad u aragto barnaamijyada rakiban

PowerShell waxa ay bixisaa wadooyin toos ah oo lagu soo saaro liiska. Aan ku bilowno kuwa ugu aasaasiga ah: hubi furayaasha uninstall-ka ee Diiwaanka, taas oo ah waxa dhab ahaantii awood u leh aragtida caadiga ah "Ku dar/kasaar Barnaamijyada".

Magacii gp (Get-ItemProperty) Kuu ogolaanayaa inaad si degdeg ah u akhrido guryaha Waxaad isku dari kartaa laba waddo (64-bit iyo 32-bit) oo waxaad ku shaandhayn kartaa walxaha leh magacyo muuqda:

gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { -not ::IsNullOrWhiteSpace($_.DisplayName) } | Select-Object DisplayName

Haddii aad door bidayso wax ka sii habaysan (magaca, nooca, daabacaha, taariikhda), oo ay ku kala duwan yihiin qaab-dhismeedka iyo qaab miis kooban oo dib-u-eegis shaashadda ah; si fiican ayey ugu shaqaysaa akhriska degdega ah:

# 64 bits
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize

# 32 bits
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize

Waxa kale oo jira dariiqa WMI/WMIC si loo helo software-ka lagu rakibay Windows Installer. Awaamiirta caadiga ah waa labadan, inkasta oo aad arki doonto baaqyadooda hoos: Waxay noqon karaan kuwo gaabis ah waxayna sababi karaan dayactirka MSI.

# Win32_Product (WMI)
Get-WmiObject -Class Win32_Product | Select-Object -Property Name

# Alias rápido
gwmi Win32_Product

# WMIC clásico
wmic product get name,version

Ugu dambeyntii, dad badan ayaa isku dayaya Get-Package. Fiiro gaar ah: Hel-Package waxa ay taxdaa baakooyinka lagu rakibay PackageManagement (NuGet/PowerShellGet iyo kuwa la midka ah), ma aha dhammaan software hab-dhaqameedka. Si kastaba ha ahaatee, waxay faa'iido u leedahay cutubyada iyo qoraallada lagu rakibay meelaha kaydka ah.

# Paquetes gestionados por PackageManagement
Get-Package

# Todas las versiones de un proveedor concreto
Get-Package -ProviderName PowerShellGet -AllVersions

# Versión concreta de un paquete
Get-Package -Name PackageManagement -ProviderName PowerShellGet -RequiredVersion 1.3.1

Haddii aad maamusho kombiyuutaro badan, waxaad isticmaali kartaa PowerShell Remoting si aad u waydiiso xirmooyinka la maareeyay meel fog. Tusaale ahaan, Waxaad ku socodsiisaa Get-Package Server01 wata aqoonsi sax ah:

Invoke-Command -ComputerName Server01 -Credential CONTOSO\TestUser -ScriptBlock { Get-Package }

U rar liiska TXT ama CSV oo is barbar dhig ka hor/ka dib

Daawashada shaashadda way fiican tahay, laakiin kaydinta faylku waa wax aad waxtar u leh. Adigoo isticmaalaya PowerShell waxaad u diri kartaa wax soo saarka a TXT waxaa lagu kala soocay magaca barnaamijka in si degan dib loogu eego ama la wadaago.

# 32 bits en TXT
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
  Sort-Object DisplayName |
  Out-File -FilePath "C:\Users\TuUsuario\Documents\InstalledPrograms.txt"

Haddii aad doorbidayso CSV lagu akhriyi karo Excel/LibreOffice, waxaad u dhoofin kartaa labada laamood (64 iyo 32 bits) fayl caadi ah. Tusaalaha caadiga ah wuxuu soo saaraa Out-File ilaa kordhinta .csv; si kastaba ha ahaatee, CSV-ga dhabta ah waxa u fiican in la isticmaalo Dhoofinta-Csv -NoType Information.

# 64 bits a CSV
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
  Sort-Object DisplayName |
  Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\Ruta\De\Tu\Archivo\Programas.csv"

# 32 bits al mismo CSV (añadiendo)
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
  Sort-Object DisplayName |
  Export-Csv -NoTypeInformation -Encoding UTF8 -Append -Path "C:\Ruta\De\Tu\Archivo\Programas.csv"

Marka hadafku yahay in dib loo rakibo nidaamka iyada oo aan waxba lumin, farsamada waxtarka leh waa in la abuuro liiska "kahor" iyo "ka dib" oo la barbardhigo iyaga. Is barbar dhig-Wax waxaad si degdeg ah u arki kartaa waxa maqan ama waxa dheeraad ah; waxa kale oo aad ku dari kartaa hageyaal loogu talagalay si otomaatig ah u rakibida software-ka iyo darawalada ka dib habaynta.

Compare-Object -ReferenceObject (Get-Content C:\Users\TuUsuario\Documents\InstalledPrograms.txt) \
               -DifferenceObject (Get-Content C:\Users\TuUsuario\Documents\InstalledPrograms2.txt)

Fiiri tiirka SideIndicator: => calaamada waxay tusinaysaa inuu ku jiro faylka labaad ee aanu ahayn kan kowaad, halka <= ka dhigan yahay caksi. Haddii = muuqanayo, curiyaha ayaa ka muuqda labada liisba iyada oo aan la kala duwanayn.

  Ka hel dhammaan sawirada iCloud ilaa PC

Liiska Dhoofinta ee barnaamijyada PowerShell

Hubi Diiwaanka: Furaha ka saar, tirinta, iyo guryaha

Inta badan rakibayaasha caadiga ah waxay diiwaan geliyeen macluumaadka fur-furka gudaha Diiwaanka. Markaa, haddii aad u baahan tahay liis la mid ah kan ku jira "Ku dar ama Ka saar Barnaamijyada," Ilaha ugu kalsoonaan karo waa furaha Uninstall kooxda.

Dariiqa ugu muhiimsan waa: HKLM: \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall , iyo codsiyada 32-bit ee nidaamyada 64-bit waxaad sidoo kale leedahay laanta: HKLM:\Software\Wow6432Node\MicrosoftWindows\CurrentVersionUninstall.

Si aad u tiriso inta codsi ee ka diiwaan gashan laan gaar ah, waxaad isticmaali kartaa Get-ChildItem oo hel tirada furayaasha hoose:

$UninstallPath = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall'
(Get-ChildItem -Path $UninstallPath).Count

Haddii aad raadinayso inaad soo saarto hanti gaar ah (tusaale, kaliya magaca bandhiga), waxaad ku jiidi kartaa qiyamka diiwaanka GetValue ('DisplayName') una kala sooc si ay u akhriyaan raaxo badan:

Get-ChildItem -Path $UninstallPath |
  ForEach-Object { $_.GetValue('DisplayName') } |
  Sort-Object

Si aad u diyaariso walxo leh hanti badan (oo la mid ah waxaad ku arki lahayd SCCM's Win32Reg_AddRemovePrograms), waxaad dhisi kartaa dhuumo yar oo ku dara aqoonsiga, daabacaha, nooca, iyo taariikhda rakibida; Sidan waxaad ku helaysaa alaab dhamaystiran:

Get-ChildItem $UninstallPath |
  ForEach-Object {
    $ProdID = ($_.Name -split '\\')
    Get-ItemProperty -Path "$UninstallPath\$ProdID" -ErrorAction SilentlyContinue |
      Select-Object DisplayName, InstallDate, @{n='ProdID'; e={$ProdID}}, Publisher, DisplayVersion
  } | Select-Object -First 10

Habkani wuxuu ka fogaanayaa dib-u-dhacyada Win32_Product ( gaabis ah oo leh saameynaha MSI) kuma xirna SCCM sida fasalka. Win32Reg_AddBarnaamijyada Bixinta, taasoo ka dhigaysa mid aad u faa'iido badan hanti-dhawrka maxalliga ah iyada oo aan la helin kaabayaal dheeraad ah.

WMI/WMIC: Goorma la Isticmaalayo iyo Waa maxay Khatarta?

Fasalada WMI-da ee Windows Installer-ku-xiran (sida Win32_Product) waxay soo celiyaan oo keliya software-ka lagu rakibay MSI, marka laga reebo rakibayaasha isticmaala matoorada kale. Intaa waxaa dheer, Weydiinta Win32_Product waxay kicin kartaa dayactirka alaabta MSI oo aad qaadato wakhti dheer, taas oo aan ku habboonayn server-yada wax soo saarka.

Weli, waxaa jira deegaanno aad xiisaynayso si sax ah u soo saar waxa aad "ogtahay" Daaqadaha Daaqadaha. Taasi waa waxa ay u socdaan:

Get-WmiObject -Class Win32_Product | Select-Object -Property Name

gwmi Win32_Product

wmic product get name,version

Haddii aad isticmaasho amarradan, samee si taxadar leh iyo inta lagu jiro dayactirka daaqadaha. Alaabta guud, Habka diwaangelintu inta badan waa ka badbaado badan yahay oo dhakhso badan, marka lagu daro daboolida codsiyo kala duwan oo ballaaran.

  Caawinta Ciyaarta Microsoft Edge: Kani waa sida browserku u beddelo khibradda ciyaartoyda

Si qoto dheer u hel xirmo: waxa ay dhab ahaantii taxdo iyo cabbirro faa'iido leh

Get-Package waxaa iska leh PackageManagement (OneGet) oo soo celisa xidhmooyinka ay rakibeen adeeg bixiyayaasha (PowerShellGet, NuGet, iwm.), ee la xidhiidha rakibayaasha xirmada software ugu caansan.

Syntax salku waxa ay taageertaa filtarrada magac ahaan iyo noocyadooda. Waxaad ku qasbi kartaa bixiyaha inuu bilaabo haddii loo baahdo (bootstrap), qor dhammaan noocyada, iyo cidhiidhi by bixiye (PowerShellGet, NuGet) ama nooc ahaan (modules, scripts):

Get-Package  <String[]>]    
               >]         

Halbeegyada ku habboon in la ogaado (qaar waa firfircoon waxayna ku xiran tahay bixiyaha): Waa kan dib u eegista muhiimka ah:

  • -Maxamed: hal ama ka badan magacyo (kaarka duurjoogta ah waa la taageeray). Faa'iido u leh helitaanka baakado gaar ah.
  • -Magaca Bixiyaha: Kala shaandhee iibiye; qiyamka caadiga ah: Bootstrap, NuGet, PowerShellGet. Sida ugu fiican oo lagu daray -AllVersions.
  • -Dhammaan noocyada: Soo celisa dhammaan noocyada rakiban, ma aha oo kaliya kuwii ugu dambeeyay.
  • -Qaybta loo baahan yahay, -MinimumVersion, -MaximumVersion: xaddid nooca saxda ah ama tirada noocyada soo noqoshada.
  • -Baaxadda: CurrentUser ama AllUsers, iyadoo ku xiran meesha xirmada lagu rakibay.
  • -WaxaaKa fogow xaqiijinta oo ku qas amarka marka ay habboon tahay.
  • -ForceBootstrap: Si toos ah ugu rakib bixiyaha loo baahan yahay haddii aanu joogin.
  • -Allow sii daynta noocyadeedaNatiijooyinka waxaa ku jira noocyo horudhac ah.
  • -Rakib Cusbooneysii: Xaaladaha ay Get-Package ku rakibi karto cusbooneysiinta bixiyeyaasha taageera.
  • -Nooca (PowerShellGet): Module, script ama Dhammaan.
  • -ExcludeVersion iyo -Destination (NuGet): saameeya magaca galka iyo hagaha soo saarista marka ay khuseyso.
  • -Ka bood Ku-tiirsanaanta (NuGet): Ka bood raadinta ku tiirsanaanta.
  • -Skip PublisherCheck (PowerShellGet): Iska daa jeegaga daabacaha xaaladaha qaarkood.
  • - Bixiyaha Maamulka Xidhmada: Wuxuu qeexayaa bixiyaha maaraynta xirmada.
  • -NoPathUpdate: Ku rakib-Script cabbirka firfircoon; dhab ahaantii ma khusayso Get-Package.
  • Parameters Common: Verbose, Debug, ErrorAction, WarningAction, OutVariable, iwm.

Tusaalooyinka wax ku oolka ah ee caadiga ah waxaa ka mid ah liiska wax kasta oo lagu rakibay PowerShellGet, raadinta nooc gaar ah, iyo xitaa ka saarista iyadoo silsilad lagu xirayo Uninstall-Package iyada oo loo marayo kanaalka:

# Todo lo de PowerShellGet, con todas las versiones
Get-Package -ProviderName PowerShellGet -AllVersions

# Versión exacta de PackageManagement
Get-Package -Name PackageManagement -ProviderName PowerShellGet -RequiredVersion 1.3.1

# Desinstalar una versión concreta de un paquete
Get-Package -Name posh-git -RequiredVersion 0.7.3 | Uninstall-Package

Ogsoonow in Get-Package ay meel fog ku socon karto (Codsi-Command ama Geli-PSSession) iyo in bixiyeyaasha ay ku dari karaan cabbirro firfircoon. Wax soo saarku waa shay nooca Microsoft.PackageManagement.Packageing.SoftwareIdentity, oo leh xogta badan ee xirmada.

  Soo hel sida loo dejiyo Farriinta Goobta Shaqada ee Kooxaha Microsoft

Maxaa ku saabsan software-ka gacanta lagu rakibay? Xaddidaad maskaxda lagu hayo

Waxa jira arjiyada la geeyo iyaga oo koobiyaynaya faylalka oo aan diiwaangelin uninstaller. Kuwaani kama soo muuqan doonaan Uninstall ama Win32_Product, mana ka soo muuqan doonaan PackageManagement. Xaaladahan, u maamul sida faylal iyo faylal, adoo raacaya farsamooyinka loogu talagalay ku rakib barnaamijyada gacanta, oo wata qoraallo raadiya wadooyin gaar ah, kuwo fulin kara, ama saxiixyo.

Isla sababtaas awgeed, laba kombuyuutar oo wata software isku mid ah ayaa laga yaabaa inay muujiyaan natiijooyin kala duwan haddii mid lagu rakibay MSI kan kalena lagu rakibay MSI. oo leh rakibe ka duwan iyada oo aan la duubin uninstallationAlaabada ugu habboon waxay isku daraysaa dhowr farsamooyin iyadoo ku xiran deegaanka.

Fulinta Fog iyo Waafaqid Nooca Windows

Adeegayaasha iyo kombuyuutarrada kombuyuutarrada, PowerShell Remoting waa habka loo maro. Kalfadhi fog (Enter-PSSession) ama Baaqa Amarka (Codsiga-Command), waxaad ku ururin kartaa xogta isla amarada aad isticmaashid. ka dhigista alaabada kombuyuutarkaaga.

Tusaalaha aasaasiga ah ee lagu waydiinayo Hel-Package server-ka fog ee leh shahaadooyin domain sax ah, oo ku habboon haddii aad hore u haysay WinRM:

Invoke-Command -ComputerName Server01 -Credential CONTOSO\TestUser -ScriptBlock { Get-Package }

Farsamooyinka Diiwaangelinta (Uninstall) waxay ku shaqeeyaan Windows 7/10/11 iyo Windows Server 2012 R2/2016/2019, halka Get-Package ay u baahan tahay in la haysto Maamulka xirmada iyo alaab-qeybiyeyaasha hadda ku habboon ama is-la rakibi karo (ForceBootstrap wuu caawiyaa).

ku qor barnaamijyada lagu rakibay powershell-3
Maqaalka laxiriira:
Ku tax barnaamijyada lagu rakibay Windows adigoo wata PowerShell iyo farsamooyin kale