Windows 10/11'de PowerShell ile Programları Kaldırma
Bu yazıda, PowerShell kullanarak yerel veya uzak bir Windows bilgisayarda yazılımın nasıl kaldırılacağına bakacağız. Oldukça sık olarak, sistem yöneticisi Windows uygulamalarını kaldırmak için komut dosyaları kullanır. Programları komut isteminden veya PowerShell betiklerinden kaldırmak için çeşitli yaklaşımlar kullanabilirsiniz.
Windows'ta Programları Kaldırmak için WMI Kullanma
Windows'ta yüklü programları kaldırmanın en yaygın yolu, WMI ad alanına başvuran komutları kullanmaktır. Örneğin, wmic komutuyla WMI ad alanını sorgulayabilir ve kurulu programların bir listesini alabilirsiniz.
wmic product get name,versionBir uygulamayı bu listeden sessizce kaldırmak için aşağıdaki komutu kullanabilirsiniz:
wmic product where name="VMware vCenter Converter Standalone" call uninstall /nointeractiveKomut, Windows Installer aracılığıyla bir uygulama (vCenter Converter) kaldırma WMI yöntemini çağırır.
Executing (\\COMPName\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{PROGRAM_GUID}",Name="VMware vCenter Converter Standalone",Version="6.2.0.8466193")->Uninstall()
Program başarıyla kaldırılırsa, şunu döndürür:
Method execution successful. Out Parameters: instance of __PARAMETERS {
ReturnValue = 0; };Uygulamaları WMI aracılığıyla görüntülemek ve kaldırmak için benzer PowerShell komutları şunlardır:
Get-WmiObject Win32_Product | ft name,version,vendor,packagename
(Get-WmiObject Win32_Product -Filter "Name = 'XXX'").Uninstall()Uzak bilgisayardaki bir programı kaldırmak için -ComputerName seçeneğini ekleyin. Örneğin, uzak bir bilgisayarda Microsoft Office'i kaldırmak için aşağıdaki komutu çalıştırın:
$apps = Get-WmiObject -Class Win32_Product -ComputerName wkmn-man23 |where name -Like "Office 16 Click-to-Run*"
$apps.uninstall()Ancak, bu uygulamaları kaldırma yöntemi, tüm olası durumlar için yeterince evrensel değildir. WMI ad alanı aracılığıyla döndürülen programların listesini ve Ayarlar'daki Windows Denetim Masası/ Uygulamalar ve özellikler listesindeki uygulama listesini karşılaştırırsanız (MS-Settings hızlı erişim komutunu kullanın:
ms-settings:appsfeatures), farklı olduklarını göreceksiniz. Wmi komutu yalnızca Windows Installer aracılığıyla yüklenen programların bir listesini görüntüler. Liste, çoğu kullanıcı uygulamasını (örneğin tarayıcılar) içermez.
Ayrıca, Microsoft Store'daki UWP programları ve PowerShell modülleri (PowerShellGet aracılığıyla) görüntülenmez.
PowerShell Paket Yöneticisi Modülü ile Uzak Bilgisayardaki Uygulamaları Kaldırma
Modern Windows 10/11 yapılarında ve Windows Server 2022/2019/2016'da, uygulamaları yüklemek veya kaldırmak için yerleşik PowerShell Paket Yönetimi cmdlet'lerini kullanabilirsiniz. Başlangıçta modül, PowerShell modüllerini yüklemek/kaldırmak için kullanıldı. Ancak, Win32 programlarını, MSU güncellemelerini ve MSI yükleyicileri kullanılarak yüklenen uygulamaları kaldırmak için de kullanabilirsiniz.
Yerel bir bilgisayarda yüklü uygulamaların tam listesini görüntülemek için aşağıdaki komutu çalıştırın:
Get-Package
Komut, farklı sağlayıcılar (SağlayıcıAdı) aracılığıyla yüklenen çeşitli program sınıflarını döndürür. Sağlayıcıların listesini bir bilgisayarda aşağıdaki gibi görüntüleyebilirsiniz:
Get-PackageProvider- Programs
- Msi
- Msu
- PowerShellGet
- NuGet
Belirli bir sağlayıcı aracılığıyla yüklenen programların listesini göstermek için şu komutu çalıştırın:
Get-Package -ProviderName Programs -IncludeWindowsInstallerProgramı kaldırmak için Uninstall-Package cmdlet'ini kullanın:
Get-Package -Name "Notepad++*" | Uninstall-PackageKurulu PowerShell modülünü kaldırabilirsiniz. Örneğin, tüm VMware.PowerCLI modüllerini kaldırmak için:
Get-Package -ProviderName PowerShellGet -Name "VMware.*" | Uninstall-PackageUzak bilgisayardaki bir programı kaldırmak için Invoke-Command cmdlet'ini kullanın:
Invoke-Command -ComputerName mun-dc01 -ScriptBlock { Get-Package -Name "Notepad++*" | Uninstall-Package}GPO aracılığıyla etki alanı bilgisayarlarında WinRM PowerShell Remoting'i etkinleştirebilirsiniz.
Bu modülü yalnızca Win32 uygulamalarını ve PS modüllerini kaldırmak için kullanabilirsiniz. UWP uygulamalarını Microsoft Store'dan kaldırmak için
Remove-AppxPackageveya
Remove-AppxProvisionedPackagePowerShell cmdlet'leri (bu makaledeki bir örneğe bakın).
WinGet Komutu ile Uygulama Nasıl Kaldırılır?
Windows'ta program yüklemek ve kaldırmak için yeni WinGet paket yöneticisini (Windows 10 ve 11'de yerleşiktir) kullanabilirsiniz. Bilgisayarınızdaki programların bir listesini almak için şunu çalıştırın:
winget listKomut, winget dışındaki yöntemlerle yüklenenler de dahil olmak üzere programların bir listesini ve UWP (APPX) uygulamalarının bir listesini döndürür.
WinGet aracılığıyla yüklenen uygulamaları kaldırmak için aşağıdaki komutu çalıştırın:
winget uninstall --name 7zip.7zipWindows'ta bir MSI uygulamasını kaldırmak için GUID'sini belirtin:
winget uninstall --id "{332C1E78-1D2F-4A64-B718-68095DC6254B}"Bir UWP uygulamasını kaldırmak için:
winget uninstall --id "Microsoft.ZuneVideo_8wekyb3d8bbwe"Ancak winget, uzaktaki bir bilgisayardaki programları kaldırmanıza izin vermez. Uzak bir bilgisayarda winget komutunu yürütmek için PowerShell Remoting özelliklerini (Invoke-Command ve Enter-PSSession cmdlet'leri) kullanın. Örneğin:
Invoke-Command -ComputerName wkmn-man231 -ScriptBlock {winget uninstall --name 7zip.7zip}Programları uzaktan kaldırmak veya SCCM veya GPO oturum açma komut dosyalarını kullanarak etki alanı bilgisayarlarında çalıştırmak için burada gösterilen PowerShell komut dosyalarını kullanabilirsiniz.





