Apakah Windows PowerShell 2.0 diinstal secara default pada Windows 7?

8

http://msdn.microsoft.com/en-us/library/ff637750.aspx klaim

Windows PowerShell 2.0 hanya perlu diinstal pada Windows Server 2008 dan Windows Vista. Itu sudah diinstal pada Windows Server 2008 R2 dan Windows 7 .

Namun, powershell.exe tinggal di sini% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe. Sepertinya itu bukan PowerShell 2.0. Versi file dari powershell.exe adalah 6.1.7600.16385 sehingga tidak banyak membantu.

Bagaimana saya tahu pasti jika saya memiliki Window PowerShell 2.0 diinstal dan jika saya tidak, di mana tautan unduhan untuk Windows 7?

kenwarner
sumber

Jawaban:

10

Anda tidak perlu mengeluarkannya dari kunci registri. Jalankan saja host-host dan periksa versinya.


sumber
Atau gunakan $Hostvariabel otomatis. Itu ditandai sebagai implementasi khusus dalam spesifikasi, meskipun (sekali lagi, Get-Hosttidak muncul sama sekali dalam spesifikasi).
Joey
Get-Host tidak muncul sama sekali dalam spesifikasi -> Itu aneh. Mereka baru saja merilis spec itu beberapa minggu yang lalu. Bertanya-tanya apakah itu kekhilafan?
Yah, mungkin itu tidak dianggap sebagai bagian dari cmdlet bahasa inti. $Hostjuga hanya ditentukan oleh implementasi. Spesifikasinya tampaknya hanya mencakup bahasa PowerShell , bukan API dan model host.
Joey
Itu tidak mencakup PSProvider juga, tapi ada yang bisa untuk itu.
12

Anda juga bisa menggunakan $PSVersionTable

PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      2.0
PSCompatibleVersions           {1.0, 2.0}
BuildVersion                   6.1.7600.16385
PSRemotingProtocolVersion      2.1
WSManStackVersion              2.0
CLRVersion                     4.0.30319.225
SerializationVersion           1.1.0.1

Var ini hanya ada di PowerShell V2.0 dan memberikan versi CLR yang Anda gunakan. Hasil normal adalah:

PS > $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.4959
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1
JPBlanc
sumber
4

Lokasi file yang dapat dieksekusi dan mendukung PowerShell tidak berubah untuk V2, juga .ps1ekstensi skrip karena V2 sepenuhnya kompatibel ke belakang — ia menggantikan V1 daripada membutuhkan mekanisme berdampingan.

Richard
sumber
0

Menemukannya

http://blogs.msdn.com/b/powershell/archive/2009/06/25/detection-logic-poweshell-installation.aspx

Untuk memeriksa apakah PowerShell versi 1.0 atau 2.0 diinstal, periksa nilai berikut dalam registri:
Lokasi Utama: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellEngine
Nilai Nama: PowerShellVersion
Nilai Jenis: REG_SZ
Nilai Data: <1.0 | 2.0>

kenwarner
sumber
powershell v2 ada di direktori v1.0 di win7 / 2008r2. Anda tidak dapat menginstal v1 PowerShell pada platform tersebut meskipun Anda menginginkannya. Mereka adalah komponen sistem. JIKA Anda menggunakan w7 atau r2, Anda dapat mengasumsikan Anda memiliki PowerShell v2 atau lebih tinggi.
x0n