PowerShell’i Windows’a yükleme

PowerShell'i Windows'a yüklemenin birden çok yolu vardır. Her yükleme yöntemi farklı senaryoları ve iş akışlarını destekleyecek şekilde tasarlanmıştır. İhtiyaçlarınıza en uygun yöntemi seçin.

  • Winget - Windows istemcilerine PowerShell yüklemenin önerilen yolu
  • MSI paketi - Windows Sunucuları ve kurumsal dağıtım senaryoları için en iyi seçenek
  • ZIP paketi - Birden çok sürümü "dışarıdan yüklemenin" veya yüklemenin en kolay yolu
    • Windows Nano Server, Windows IoT ve Arm tabanlı sistemler için bu yöntemi kullanın
  • .NET Global aracı - Diğer genel araçları yükleyen ve kullanan .NET geliştiricileri için iyi bir seçimdir
  • Microsoft Store paketi - PowerShell'in gündelik kullanıcıları için yüklemenin kolay bir yoludur ancak sınırlamaları vardır

Not

Bu makaledeki yükleme komutları PowerShell'in en son kararlı sürümüne yöneliktir. PowerShell'in farklı bir sürümünü yüklemek için komutunu ihtiyacınız olan sürümle eşleşecek şekilde ayarlayın. Aşağıdaki bağlantılar sizi GitHub'daki PowerShell deposundaki her sürümün yayın sayfasına yönlendirir.

Her paket için indirme bağlantıları, Yayın sayfasının Varlıklar bölümünde bulunur. Varlıklar bölümü daraltılmış olabilir, bu nedenle genişletmek için tıklamanız gerekebilir.

Windows Paket Yöneticisi winget, kullanıcıların Windows istemci bilgisayarlarında uygulamaları bulmasına, yüklemesine, yükseltmesine, kaldırmasına ve yapılandırmasına olanak tanıyan bir komut satırı aracıdır. Bu araç, Windows Paket Yöneticisi hizmetinin istemci arabirimidir. Komut winget satırı aracı, Windows 11 ve Windows 10'un modern sürümleri varsayılan olarak Uygulama Yükleyicisi olarak paketlenmiştir.

Not

Sistem gereksinimlerinin listesi ve yükleme yönergeleri için winget belgelerine bakın. Winget şu anda Windows sunucularında çalışmıyor.

Yayımlanan winget paketleri kullanarak PowerShell'i yüklemek için aşağıdaki komutlar kullanılabilir:

PowerShell'in en son sürümünü arama

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.2.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.5.0.2   winget

parametresini kullanarak PowerShell veya PowerShell Preview'ı id yükleme

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

Not

X86 veya X64 işlemci kullanan Windows sistemlerinde MSI winget paketini yükler. Arm64 işlemci kullanan sistemlerde Microsoft winget Store (MSIX) paketini yükler. Daha fazla bilgi için bkz . Microsoft Store'dan yükleme.

MSI paketini yükleme

PowerShell'i Windows'a yüklemek için aşağıdaki bağlantıları kullanarak yükleme paketini GitHub'dan indirin.

İndirildikten sonra yükleyici dosyasına çift tıklayın ve istemleri izleyin.

Yükleyici, Windows Başlat Menüsü'nde bir kısayol oluşturur.

  • Varsayılan olarak paket şu şekilde yüklenir: $env:ProgramFiles\PowerShell\<version>
  • PowerShell'i Başlat Menüsü veya $env:ProgramFiles\PowerShell\<version>\pwsh.exe

Not

PowerShell 7.4 yeni bir dizine yüklenir ve Windows PowerShell 5.1 ile yan yana çalışır. PowerShell 7.4, PowerShell 7'nin önceki sürümlerini kaldıran yerinde bir yükseltmedir. PowerShell'in önizleme sürümleri diğer PowerShell sürümleriyle yan yana yüklenebilir.

  • PowerShell 7.4 $env:ProgramFiles\PowerShell\7
  • klasörü $env:ProgramFiles\PowerShell\7$env:PATH

PowerShell 7.4'ü diğer sürümlerle yan yana çalıştırmanız gerekiyorsa, diğer sürümü farklı bir klasöre yüklemek için ZIP yükleme yöntemini kullanın.

PowerShell 7.2 ve daha yeni sürümlerde Microsoft Update desteği

PowerShell 7.2 ve daha yeni sürümler Microsoft Update desteğine sahiptir. Bu özelliği etkinleştirdiğinizde, ister İş için Windows Update, WSUS, Microsoft Endpoint Configuration Manager ister Ayarlar etkileşimli MU iletişim kutusu olsun, geleneksel Microsoft Update (MU) yönetim akışınızda en son PowerShell 7 güncelleştirmelerini alırsınız.

PowerShell MSI paketi aşağıdaki komut satırı seçeneklerini içerir:

  • USE_MU - Bu özelliğin iki olası değeri vardır:
    • 1 (varsayılan) - Microsoft Update, WSUS veya Configuration Manager aracılığıyla güncelleştirmeyi kabul eder
    • 0 - Microsoft Update, WSUS veya Configuration Manager aracılığıyla güncelleştirmeyi kabul etmeyin
  • ENABLE_MU
    • 1(varsayılan) - Otomatik Güncelleştirmeler için Microsoft Update'i kullanmayı kabul eder
    • 0 - Microsoft Update'i kullanmayı kabul etmeyin

Not

Güncelleştirmelerin etkinleştirilmesi önceki bir yükleme veya el ile yapılandırmada ayarlanmış olabilir. kullanmak ENABLE_MU=0 mevcut ayarları kaldırmaz. Ayrıca, bu ayar yöneticiniz tarafından denetlenen Grup İlkesi ayarları tarafından geçersiz kılabilir.

Daha fazla bilgi için bkz . PowerShell Microsoft Update SSS.

MSI paketini komut satırından yükleme

MSI paketleri, yöneticilerin kullanıcı etkileşimi olmadan paketleri dağıtmasına olanak sağlayan komut satırından yüklenebilir. MSI paketi, yükleme seçeneklerini denetlemek için aşağıdaki özellikleri içerir:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - Bu özellik, öğeyi Open PowerShell Windows Gezgini'ndeki bağlam menüsüne ekleme seçeneğini denetler.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - Bu özellik, öğeyi Run with PowerShell Windows Gezgini'ndeki bağlam menüsüne ekleme seçeneğini denetler.
  • ENABLE_PSREMOTING - Bu özellik, yükleme sırasında PowerShell uzaktan iletişimini etkinleştirme seçeneğini denetler.
  • REGISTER_MANIFEST - Bu özellik, Windows Olay Günlüğü bildirimini kaydetme seçeneğini denetler.
  • ADD_PATH - Bu özellik, Windows PATH ortam değişkenine PowerShell ekleme seçeneğini denetler.
  • DISABLE_TELEMETRY - Bu özellik, ortam değişkenini ayarlayarak PowerShell'in telemetrisini POWERSHELL_TELEMETRY_OPTOUT devre dışı bırakma seçeneğini denetler.
  • INSTALLFOLDER - Bu özellik yükleme dizinini denetler. Varsayılan değer: $env:ProgramFiles\PowerShell\. Bu, yükleyicinin sürümü oluşturulan alt klasörü oluşturduğu konumdur. Sürüme alınan alt klasörün adını değiştiremezsiniz.
    • Geçerli sürümler için, sürüme alınan alt klasör şu şekildedir: 7
    • Önizleme sürümleri için, sürüme alınan alt klasör şu şekildedir: 7-preview

Aşağıdaki örnekte, tüm yükleme seçenekleri etkinken PowerShell'in nasıl sessizce yükleneceği gösterilmektedir.

msiexec.exe /package PowerShell-7.4.2-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

için komut satırı seçeneklerinin tam listesi için Msiexec.exebkz . Komut satırı seçenekleri.

ZIP paketini yükleme

Gelişmiş dağıtım senaryolarını etkinleştirmek için PowerShell ikili ZIP arşivleri sağlanır. Geçerli sürüm sayfasından aşağıdaki ZIP arşivlerinden birini indirin.

Dosyayı nasıl indirdiğinize bağlı olarak, cmdlet'ini kullanarak dosyanın engellemesini Unblock-File kaldırmanız gerekebilir. İçeriği istediğiniz konuma çıkarın ve oradan çalıştırın pwsh.exe . MSI paketlerini yüklemenin aksine, ZIP arşivini yüklemek önkoşulları denetlemez. WSMan üzerinden uzaktan iletişimin düzgün çalışması için önkoşulları karşıladığınızdan emin olun.

PowerShell'in ARM tabanlı sürümünü Microsoft Surface Pro X gibi bilgisayarlara yüklemek için bu yöntemi kullanın. En iyi sonuçları elde etmek için PowerShell'i klasörüne $env:ProgramFiles\PowerShell\7 yükleyin.

.NET Genel aracı olarak yükleme

.NET Core SDK'nız zaten yüklüyse PowerShell'i .NET Genel aracı olarak yükleyebilirsiniz.

dotnet tool install --global PowerShell

Dotnet araç yükleyicisi ortam değişkeninize $env:PATH ekler$HOME\.dotnet\tools. Ancak, şu anda çalışan kabuk güncelleştirilmiş $env:PATH. Yazarak pwshPowerShell'i yeni bir kabuktan başlatabilirsiniz.

Microsoft Store'dan yükleme

PowerShell, Microsoft Store'dan yüklenebilir. PowerShell sürümünü Microsoft Store sitesinde veya Windows'daki Mağaza uygulamasında bulabilirsiniz.

Microsoft Store paketinin avantajları:

  • Doğrudan Windows'ta yerleşik otomatik güncelleştirmeler
  • Intune ve Configuration Manager gibi diğer yazılım dağıtım mekanizmalarıyla tümleşir
  • x86, x64 veya Arm64 işlemcileri kullanarak Windows sistemlerine yüklenebilir

Bilinen sınırlamalar

Varsayılan olarak, Windows Mağazası paketleri bazı dosya sistemi ve kayıt defteri konumlarına erişimi sanallaştıran bir uygulama korumalı alanında çalışır. Sanallaştırılmış dosya ve kayıt defteri konumlarına yapılan değişiklikler uygulama korumalı alanının dışında kalıcı olmaz.

Bu korumalı alan, uygulamanın kök klasöründe yapılan tüm değişiklikleri engeller. içinde $PSHOME depolanan sistem düzeyindeki yapılandırma ayarları değiştirilemez. Bu, WSMAN yapılandırmasını içerir. Bu, uzak oturumların PowerShell'in Mağaza tabanlı yüklemelerine bağlanmasını engeller. Kullanıcı düzeyinde yapılandırmalar ve SSH uzaktan iletişim desteklenir.

Aşağıdaki komutların öğesine yazması $PSHOMEgerekir. Bu komutlar PowerShell'in Microsoft Store örneğinde desteklenmez.

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

Daha fazla bilgi için bkz . Paketlenmiş masaüstü uygulamalarının Windows'ta nasıl çalıştığını anlama.

PowerShell 7.2 değişiklikleri

PowerShell 7.2 sürümünden itibaren PowerShell paketi artık dosya ve kayıt defteri sanallaştırmasından muaftır. Sanallaştırılmış dosya ve kayıt defteri konumlarına yapılan değişiklikler artık uygulama korumalı alanının dışında kalır. Ancak, uygulamanın kök klasöründe yapılan değişiklikler yine de engellenir.

Önemli

Bu muafiyetin çalışması için Windows derlemesi 1903 veya üzeri üzerinde çalışıyor olmanız gerekir.

Önizleme sürümü yükleme

PowerShell 7'nin önizleme sürümleri, PowerShell'in önizleme dışı sürümleriyle yan yana çalıştırılabilmeleri için 'a $env:ProgramFiles\PowerShell\7-preview yüklenir. PowerShell 7.4 sonraki önizleme sürümüdür.

Mevcut bir yüklemeyi yükseltme

Yükseltme sırasında en iyi sonuçları elde etmesi için PowerShell'i ilk yüklerken kullandığınız yükleme yöntemini kullanmanız gerekir. PowerShell'in nasıl yüklendiğinden emin değilseniz değişkenin $PSHOME değerini denetleyebilirsiniz. Bu değer her zaman geçerli oturumun çalıştırıldığı PowerShell'i içeren dizine işaret eder.

  • Değeri ise$HOME\.dotnet\tools, PowerShell .NET Genel aracıyla yüklenmiştir.
  • değeri ise$Env:ProgramFiles\PowerShell\7, PowerShell bir MSI paketi olarak veya Winget ile X86 veya x64 işlemcili bir bilgisayara yüklenmiştir.
  • Değer ile $Env:ProgramFiles\WindowsApps\başlıyorsa, PowerShell bir Microsoft Store paketi olarak veya ARM işlemcisi olan bir bilgisayarda Winget ile yüklenmiştir.
  • Değer başka bir değerse, PowerShell'in zip paketi olarak yüklenmiş olması muhtemeldir.

MSI paketi aracılığıyla yüklediyseniz, bu bilgiler Programlar ve Özellikler Denetim Masası da görünür.

PowerShell'in Winget ile yükseltilip yükseltilemeyeceğini belirlemek için aşağıdaki komutu çalıştırın:

winget list --name PowerShell --upgrade-available

Kullanılabilir bir yükseltme varsa, çıkış en son kullanılabilir sürümü gösterir.

Not

Yükseltme sırasında PowerShell, LTS sürümünden LTS olmayan bir sürüme yükseltme yapmaz. Yalnızca LTS'nin en son sürümüne yükseltildi, örneğin, 7.2.3'ten 7.2.19'a yükseltildi. BIR LTS sürümünden daha yeni bir kararlı sürüme veya sonraki LTS sürümüne yükseltmek için bu sürüm için MSI ile yeni sürümü yüklemeniz gerekir.

Yüklü sürüm bir LTS sürümü olmadığında PowerShell en son kararlı sürüme yükseltilir.

Windows 10 IoT Enterprise'da dağıtma

Windows 10 IoT Enterprise, PowerShell 7'yi dağıtmak için kullanabileceğimiz Windows PowerShell ile birlikte gelir.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.4.2-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.4.2-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.2-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

PowerShell Uzaktan İletişimi'ni ayarlarken bir hata iletisi alırsınız ve cihazla bağlantınız kesilir. PowerShell'in WinRM'yi yeniden başlatması gerekir. Artık cihazda PowerShell 7 uç noktasına bağlanabilirsiniz.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.4.2

Windows 10 IoT Core'da dağıtma

Windows 10 IoT Core, PowerShell 7'yi dağıtmak için kullanabileceğimiz IOT_POWERSHELL özelliği eklediğinizde Windows PowerShell ekler. Yukarıda Windows 10 IoT Enterprise için tanımlanan adımlar IoT Core için de takip edilebilir.

Gönderim görüntüsüne en son PowerShell'i eklemek için Import-PSCoreRelease komutunu kullanarak paketi çalışma alanınıza ekleyin ve görüntünüze OPENSRC_POWERSHELL özellik ekleyin.

Not

ARM64 mimarisi için, IOT_POWERSHELL eklediğinizde Windows PowerShell eklenmez. Bu nedenle zip tabanlı yükleme çalışmaz. Görüntüye eklemek için komutunu kullanmanız Import-PSCoreRelease gerekir.

Nano Sunucu'da dağıtma

Bu yönergeler, Nano Sunucu'nun üzerinde zaten çalışan bir PowerShell sürümüne sahip "başsız" bir işletim sistemi olduğunu varsayar. Daha fazla bilgi için Nano Sunucu Görüntü Oluşturucusu belgelerine bakın.

PowerShell ikili dosyaları iki farklı yöntem kullanılarak dağıtılabilir.

  1. Çevrimdışı - Nano Sunucu VHD'sini bağlayın ve zip dosyasının içeriğini bağlı görüntü içinde seçtiğiniz konuma açın.
  2. Çevrimiçi - Zip dosyasını bir PowerShell Oturumu üzerinden aktarın ve seçtiğiniz konumda sıkıştırmasını açın.

Her iki durumda da Windows x64 ZIP yayın paketi gerekir. Komutları PowerShell'in "Yönetici istrator" örneğinde çalıştırın.

PowerShell'in Çevrimdışı Dağıtımı

  1. Paketi bağlı Nano Sunucu görüntüsündeki bir dizine açmak için sık kullandığınız zip yardımcı programını kullanın.
  2. Görüntüyü çıkarın ve önyükler.
  3. Windows PowerShell'in yerleşik örneğine Bağlan.
  4. "Başka bir örnek tekniği" kullanarak uzaktan iletişim uç noktası oluşturmak için yönergeleri izleyin.

PowerShell'in Çevrimiçi Dağıtımı

Aşağıdaki adımları kullanarak PowerShell'i Nano Sunucu'ya dağıtın.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.4.2-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.4.2-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

WSMan tabanlı uzaktan iletişim istiyorsanız, "başka bir örnek tekniği" kullanarak uzaktan iletişim uç noktası oluşturmak için yönergeleri izleyin.

PowerShell uzaktan iletişim

PowerShell hem WSMan hem de SSH üzerinden PowerShell Uzaktan İletişim Protokolü'ne (PSRP) sahiptir. Daha fazla bilgi için bkz.

Windows'un eski sürümlerinde WSMan üzerinden PowerShell uzaktan iletişimini etkinleştirmek için aşağıdaki önkoşullar karşılanmalıdır.

Desteklenen Windows sürümleri

Aşağıdaki tabloda PowerShell sürümlerinin ve bunların desteklendiği Windows sürümlerinin listesi yer alır. Bu sürümler, PowerShell sürümü destek sonuna ulaşana veya Windows sürümü destek sonuna ulaşana kadar desteklenir.

  • Simge, Desteklenir işletim sistemi veya PowerShell sürümünün hala desteklendiğini gösterir
  • Simge, Destek Dışı PowerShell sürümünün işletim sisteminin bu sürümünde artık desteklenmediğini gösterir
  • Simge, Testte PowerShell'i bu işletim sisteminde test etme işlemini tamamlamadığımıza işaret eder
  • Simge, Desteklenmiyor işletim sistemi veya PowerShell sürümünün desteklenmediğini gösterir
  • hem işletim sistemi sürümü hem de PowerShell sürümü bir Desteklenir simgeye sahip olduğunda, bu birleşim desteklenir
Windows 7.2 (LTS öncesi) 7.3 7.4 (LTS akımlı)
Desteklenir Windows Server 2016, 2019 veya 2022 Desteklenir Desteklenir Desteklenir
Desteklenir Windows Server Nano (1809 veya üzeri) Desteklenir Desteklenir Desteklenir
Desteklenir Windows 11 Desteklenir Desteklenir Desteklenir
Desteklenir Windows 10 1607+ Desteklenir Desteklenir Desteklenir

Not

Windows'un belirli bir sürümü için destek, Microsoft Desteği Yaşam Döngüsü ilkeleri tarafından belirlenir. Daha fazla bilgi için bkz.

PowerShell, windows üzerinde aşağıdaki işlemci mimarileri için desteklenir.

Windows 7.2 (LTS akımlı) 7.3 7.4 (LTS akımlı)
Windows Server 2016+ x64, x86 x64, x86 x64, x86
Windows Server Core 2016+ x64, x86 x64, x86 x64, x86
Nano Sunucu Sürüm 1803+ x64 x64 x64
Windows 11 İstemcisi x64, Arm64 x64, Arm64 x64, Arm64
Windows 10 İstemcisi x64, x86, Arm64 x64, x86, Arm64 x64, x86, Arm64

komutunu çalıştırarak winver.exekullandığınız sürümü de kontrol edebilirsiniz.

Yükleme desteği

Microsoft bu belgedeki yükleme yöntemlerini destekler. Diğer kaynaklardan kullanılabilecek başka üçüncü taraf yükleme yöntemleri de olabilir. Bu araçlar ve yöntemler işe yarasa da, Microsoft bu yöntemleri destekleyemez.