PowerShell ile Windows 10 uygulamaları nasıl kaldırılır
Windows 10, Hesap Makinesi ve Hava Durumu gibi temel uygulamalardan Posta ve Fotoğraflar gibi daha görev odaklı uygulamalara kadar çok sayıda yerleşik uygulama içerir. Bu yerleşik uygulamalar çoğu durumda uygun olsa da iş ortamında uygunsuz, gereksiz veya desteksiz olabilir. Çoğu zaman bu uygulamalar benim güvenlik riskimdir. Bu nedenle bu yazıda Windows 10 uygulamalarını PowerShell ile nasıl kaldıracağınızı öğreneceksiniz.
Sorun, Microsoft'un bu uygulamalardan bazılarının kaldırılmasını kolaylaştırmamasıdır. Normal yöntemlerle kaldırma işlemi sırasında kaldırma düğmesi yoktur. Yerleşik uygulamaların PowerShell aracılığıyla kaldırılması gerekir.
Sorumluluk reddi: Windows 10 uygulamalarının tamamını kaldırmayın. Birçoğu Windows 10 “Deneyim” için gereklidir ve .NET çerçevesi gibi diğerleri de diğer programlar için gereklidir. Hangi uygulamaların kaldırılacağı konusunda seçici olun. Ancak tüm uygulamaları yeniden yükleyebilirsiniz ve bu makalenin sonunda PowerShell komutunu göreceksiniz
PowerShell ile Windows 10 Uygulamalarını Bulma
Aslında üzerinde çalışacağımız iki farklı türde uygulama var.
- AppX paketleri - İşletim sistemiyle birlikte yüklenen uygulamalar
- AppX tarafından sağlanan paketler - Kullanıcı profilinin ilk kurulumunun bir parçası olarak yüklenen uygulamalar.
İlk adım, yüklü uygulamaların bir envanterini almaktır. Bunu yapmak için PowerShell'i yükseltilmiş ayrıcalıklarla başlatın ve Get-AppxPackage komutunu çalıştırın. Bu, Windows 10'da yüklü olan tüm AppX paketlerini döndürecektir.
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--
Hazırlanan paketler biraz farklı bir komuta sahiptir ve ayrıca Online parametresine de ihtiyaç duyarlar. Online parametresi, paketleri yerel dizinde bulunan bir görüntü dosyası yerine mevcut çevrimiçi işletim sisteminden çeker. Bu, her pakete ilişkin tüm ayrıntıların bir listesini sunacaktır.
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--Uygulama listelerini daraltma
Bu komutların her ikisi de oldukça ayrıntılı bir liste oluşturur ve ilgilendiğiniz tek şey, aşağıda gösterildiği gibi Appx paketleri için paketin Adı ve temel hazırlığı yapılan paketler için DisplayName'dir.
İşleri biraz kolaylaştırmak için sonuçları Select-Object aracılığıyla yönlendirin ve Name ile DisplayName özelliklerini seçin. Bu size aşağıdaki gibi bir liste verecektir. Bu listeyle çalışmak daha kolaydır.
Get-AppxPackage | Select-Object NameArtık hangi Windows 10 uygulamalarını kaldırmak istediğinizi görebilirsiniz. Bu noktada kaldırmak istediğiniz paketlerin tüm adlarını listelemeniz gerekiyor. Bunu yapmanın bir yolu, kaldırmak istediğiniz Windows 10 uygulamalarını kopyalayıp yapıştırmak ve bu şekilde bir liste oluşturmaktır. Kullandığım püf noktalarından biri, sonuçları bir metin dosyasına kaydetmek ve ardından bu dosyayı Visual Studio Code'da açmaktır. Örneğin:
Get-AppxPackage | Select-object name | Out-File apps.txt | code apps.txtHarici düzenleyicinizde kaldırılacak bir dizi uygulama oluşturmaya başlayın.
$ProvisionedAppPackageNames = @()Artık listeye sahip olduğunuza göre PowerShell betiğini oluşturmaya başlayabilirsiniz.
PowerShell ile Windows 10 Uygulamalarını Kaldırma
Artık editörünüzde, kaldırılmasını istediğiniz tüm AppX paketlerinin adlarını içeren tanımlanmış bir diziye sahip olmalısınız. Aşağıda bir örnek buldum.
$ProvisionedAppPackageNames = @(
"Microsoft.BingFinance"
"Microsoft.BingNews"
"Microsoft.BingSports"
"Microsoft.BingWeather"
"Microsoft.MicrosoftOfficeHub"
"Microsoft.Getstarted"
"microsoft.windowscommunicationsapps" # Mail,Calendar
"Microsoft.Office.OneNote"
"Microsoft.People"
"Microsoft.SkypeApp"
"Microsoft.XboxApp"
"Microsoft.ZuneMusic"
"Microsoft.ZuneVideo"
)Dizi kaldırılacak belirli uygulamalarla doldurulduğunda, artık foreach döngüsünü, Remove-AppXProvisionedPackage cmdlet'ini ve Remove-AppXPackage cmdlet'i seçin.
foreach ($ProvisionedAppName in $ProvisionedAppPackageNames) {
Get-AppxPackage -Name $ProvisionedAppName -AllUsers | Remove-AppxPackage
Get-AppXProvisionedPackage -Online | Where-Object DisplayName -EQ $ProvisionedAppName | Remove-AppxProvisionedPackage -Online
}Herhangi bir nedenle tüm uygulamaları yeniden yüklemek isterseniz, Windows 10 uygulamasını aşağıda gösterildiği gibi uygulama manifest XML dosyasını belirterek yeniden kaydetmek için her zaman add-AppXPackage cmdlet'ini kullanabilirsiniz.
Get-AppxPackage -AllUsers | Foreach {
Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
}Özet
Microsoft, Windows 10 uygulamalarını kaldırmayı kolaylaştırmasa da, her zaman başvurabileceğiniz PowerShell'e sahip olacağınızı görebilirsiniz!