1. Anasayfa
  2. Windows Client

Windows’ta Yüklü Uygulamaları PowerShell ile Toplu Olarak Güncellemek


Linux ve Unix dünyasında kullanıcıların en çok alışık olduğu araçlardan biri şüphesiz paket yöneticileridir. Her dağıtımın kendine özgü bir paket yönetim sistemi bulunur. Örneğin CentOS’ta yum (CentOS 8 ile birlikte dnf), Ubuntu’da apt-get, Arch Linux’ta pacman, Debian’da dpkg, FreeBSD’de ise pkg kullanılır. İşte bu köklü geleneği artık Windows kullanıcıları da deneyimleyebilecek. Microsoft’un yaptığı resmi duyuruya göre, Windows için geliştirilen yerel paket yöneticisi olan winget artık kullanıma sunuldu. Bu gelişme, özellikle geliştiriciler ve sistem yöneticileri açısından büyük kolaylıklar sağlayacak gibi görünüyor. Aynı zamanda, bu adımın Windows üzerinde çalışan hosting kullanıcılarının sayısını da artırması bekleniyor.

Modern dünyada bilgisayarlarımızdaki yazılımların güncel kalması güvenlik, performans ve verimlilik açısından büyük önem taşır. Ancak her uygulamayı tek tek güncellemek hem zaman alıcı hem de karmaşık olabilir.

Bu makalemde Microsoft’un sunduğu Windows Package Manager (winget) uygulumaları tek tek güncellemeye gerek kalmadan toplu bir şekilde bir komut ile gerçekleştirebilmeniz için devreye giriyor. Özellikle winget upgrade --all komutu bilgisayarınızdaki neredeyse tüm uygulamaları tek hamlede güncelleme imkânı sunar.

Winget Nedir?

Winget, Microsoft tarafından geliştirilen bir komut satırı paket yöneticisidir. Linux’teki apt, dnf veya macOS’teki brew komutlarına benzer şekilde çalışır. Kullanıcıların uygulama kurma, kaldırma, güncelleme ve yapılandırma işlemlerini sadece birkaç komutla yapmasını sağlar.

Microsoft’un açık kaynak dünyasına olan ilgisinin bir sonucu olarak ortaya çıkan Winget, geliştiricilere zaman kazandırmayı ve kurulum sürecindeki sorunları en aza indirmeyi amaçlıyor. Dilerseniz bir yazılımın son sürümünü ya da belirli bir sürümünü winget ile kolayca yükleyebilirsiniz.

Windows 10/11 ve Server 2025’te WinGet, Windows 10’un modern sürümleri, Windows 11 ve Windows Server 2025 üzerinde “App Installer” bileşeni ile birlikte gelir. Bu bileşen:

  • Windows 10/11 kullanıcıları için Microsoft Store üzerinden güncellenir.
  • Windows Server 2025 kullanıcıları için ise sistem güncellemeleri aracılığıyla sağlanır.

Desteklenen minimum sürüm: Windows 10 sürüm 1709 (build 16299) ve sonrası.

Winget ile Neler Yapabilirsiniz?

  • Uygulama aramak: winget search <uygulama_adı>
  • Uygulama yüklemek: winget install <paket_kimliği>
  • Uygulama kaldırmak: winget uninstall <paket_kimliği>
  • Güncelleme olup olmadığını görmek: winget upgrade
  • Tüm uygulamaları güncellemek: winget upgrade --all

winget upgrade –all Komutunun Kullanımı

Bu komut, bilgisayardaki tüm yüklü ve güncellenebilir uygulamaları tarar ve varsa en son sürümlerini yükler.

Winget’in işletim sisteminde yüklü olduğunu doğrulayınız. Bu işlem için aşağıdaki komutu kullanabilirsiniz.

winget --info

Winget’in kaynak kodları GitHub üzerinden erişilebilir durumdadır. Kurulumu manuel olarak gerçekleştirmek isteyen kullanıcılar, GitHub sayfası üzerinden projeyi indirerek sistemlerine kurabilir. Resmi olarak kullanabilmek için ise Microsoft’un Windows Insider programına dahil olmanız gerekebilir.

Bilgisayarınızda yüklü olan tüm uygulamaları listeler. Bu liste, hem klasik .exe uygulamalarını hem de Microsoft Store’dan yüklenen uygulamaları içerir.

winget list

Winget uygulaması ile güncellenebilir uygulamaların listesini görüntülemek için aşağıdaki komutu kullanabilirsiniz.

winget upgrade

Winget uygulaması ile güncellenerek bütün uygulamaların güncellenmesi için aşağıdaki komutu kullanabilirsiniz.

winget upgrade --all

Sessiz (Kullanıcı etkileşimsiz) güncelleştirme için de aşağıdaki komutu kullanabilirsiniz.

winget upgrade --all --silent --accept-package-agreements --accept-source-agreements

Winget ile versiyon bilgisi eksik olan uygulamaları da dahil ederek tümünü günceller. Bu komuta ek olarak eklenen “–include-unknown” ile en kapsamlı güncelleme seçeneğidir ve genellikle tavsiye edilir.

winget upgrade --all --include-unknown

Güncelleme sırasında tarayıcı gibi bazı uygulamalar açıksa güncellemenin tam olarak etkili olması için bu uygulamaların manuel olarak kapatılıp yeniden açılması gerekebilir.

Not : Bazı uygulamalar, örneğin Discord, kendi otomatik güncelleme sistemini kullandığı için WinGet tarafından güncellenemez. Bu durumda aşağıdaki gibi bir işlem yapılabilir. Bu yöntem uygulamayı kaldırıp yeniden kurarak güncelleme yapılmasını sağlar.

winget uninstall Discord.Discord
winget install Discord.Discord

Winget ile Uygulama Kurma ve Kaldırma Örnekleri

a) Winrar uygulamasının yüklenmesi için;

winget install RARLab.WinRAR

b) Winrar uygulamasının kaldırılması için;

winget uninstall RARLab.WinRAR

Not : Eğer kullanıcı olarak ilk kez oturum açtıysanız ve WinGet komutu çalışmıyorsa, PowerShell’e aşağıdaki komutu girerek manuel kayıt yapabilirsiniz:

Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe

c) Winget ile uygulama aramak

winget search adobe

Windows SandBox üzerinde Winget Kurulumu

Windows Sandbox, izole bir çalışma ortamı sunar ancak varsayılan olarak WinGet içermez. Bu durumda WinGet manuel olarak yüklenmelidir. Aşağıdaki powershell komutu ile bu kurulumu gerçekleştirebilirsiniz.

$progressPreference = 'silentlyContinue'
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager

Winget komut listesi ve parametreleri

WinGet komut satırı aracı, uygulamaları yüklerken veya güncellerken çeşitli seçeneklerle özelleştirilebilir. Bu parametreler, kullanıcıya kontrol, esneklik ve otomasyon sağlar. İşte winget install, winget upgrade, winget uninstall gibi komutlarda kullanabileceğiniz tüm önemli seçeneklerin açıklamaları aşağıdaki gibidir;

KomutAçıklama
installUygulama yükler
uninstallUygulama kaldırır
upgradeUygulama günceller
listKurulu uygulamaları listeler
searchPaket arar
showPaket bilgilerini gösterir
export / importPaket listesi dışa/İçe aktarımı
sourceKaynak yönetimi
settingsAyarları açar
configureSistem yapılandırması
hash / validatePaket doğrulama ve hash oluşturma
pinVersiyon sabitleme
downloadYükleyiciyi indirir
infoSistem ve sürüm bilgisi
featuresDeneysel özellikleri listeler

Winget’de kurulum kaynağı için kullanılacak parametreler;

ParametreAçıklama
-m, --manifestYerel bir YAML dosyasına dayalı olarak kurulum yapar. Dosya yolu belirtilmelidir.
--idYalnızca belirtilen uygulama kimliğiyle eşleşen paket yüklenir.
--nameUygulama adını temel alarak arama sınırlandırılır.
--monikerUygulamanın takma adına göre arama yapılır.
-s, --sourceBelirtilen kaynak (örneğin: winget, msstore, github) ile arama sınırlandırılır.

Sürüm ve Mimariye göre kullanılacak parametreleri

ParametreAçıklama
-v, --versionYüklenecek belirli bir sürüm belirtilir. Belirtilmezse en güncel sürüm kurulur.
-a, --architectureUygulamanın hangi mimariye uygun kurulacağını belirler (örnek: x64, arm64).
--installer-typeBelirli bir yükleyici türünü kullanmak için tanımlanır (örneğin: exe, msi).

Kurulum türü ve kurukum davranışına göre kullanılabilir parametreler

ParametreAçıklama
--scopeKurulumun kullanıcı (user) veya sistem (machine) düzeyinde yapılmasını sağlar.
-e, --exactArama sırasında yalnızca tam eşleşen paket adları dikkate alınır (büyük/küçük harf duyarlıdır).
-i, --interactiveKurulumu etkileşimli modda gerçekleştirir. Varsayılan olarak ilerleme çubuğu gösterilir.
-h, --silentKurulum sırasında hiçbir kullanıcı arayüzü gösterilmez (tamamen sessiz mod).
--localeKurulum için kullanılacak dil/yerel ayar (örneğin: tr-TR).
-l, --locationUygulamanın kurulacağı özel klasör yolunu belirtir (destekleniyorsa).
--allow-rebootGerekliyse kurulum sonunda sistemi yeniden başlatmaya izin verir.
--skip-dependenciesBağımlı paketlerin kurulmasını atlar.
--ignore-security-hashYükleyicinin hash kontrolü başarısızsa bile devam eder (önerilmez).
--ignore-local-archive-malware-scanArşiv paketlerde yapılan kötü amaçlı yazılım taramasını atlar.
--dependency-sourceBağımlılıkların yükleneceği kaynak belirtilir.
--accept-package-agreementsLisans sözleşmesini otomatik kabul eder.
--no-upgradeZaten kurulu bir sürüm varsa güncelleme yapmaz.
--customYükleyiciye özel parametreler eklenebilir.
--overrideVarsayılan WinGet davranışını geçersiz kılacak özel argüman gönderilir.
-r, --renamePortable uygulamalarda çalıştırılabilir dosyanın ismini değiştirir.
--uninstall-previousYeni sürüm yüklenmeden önce eski sürümü kaldırır.

Gelişmiş seçenekler

ParametreAçıklama
--proxyBelirli bir proxy ile çalıştırılır.
--no-proxyProxy kullanımı devre dışı bırakılır.
--headerWinGet REST kaynaklarıyla HTTP başlığı gönderir.
--authentication-modeKimlik doğrulama yöntemi belirlenir (silent, interactive, vb.).
--authentication-accountOturum açmak için kullanılacak hesap tanımlanır.
--accept-source-agreementsKaynak lisans sözleşmesini otomatik olarak kabul eder.

Loglama ve Hata Ayıklama durumlarında kullanılacak parametreleri

ParametreAçıklama
-o, --logBelirli bir dosyaya günlük yazılmasını sağlar.
--verbose, --verbose-logsAyrıntılı günlük kaydı yapılır.
--logs, --open-logsVarsayılan günlük klasörünü açar.
--nowarn, --ignore-warningsUyarı mesajlarını gizler.
--forceGüvenlik dışı hatalarda işlemi zorla yürütür.
--disable-interactivityEtkileşimli istemleri devre dışı bırakır.
--waitKomut tamamlandığında kullanıcıdan tuşa basmasını ister.