Чи встановлено Windows PowerShell 2.0 у Windows 7 за замовчуванням?


8

http://msdn.microsoft.com/en-us/library/ff637750.aspx претензій

Windows PowerShell 2.0 потрібно встановити лише на Windows Server 2008 та Windows Vista. Він уже встановлений на Windows Server 2008 R2 та Windows 7 .

Тим не менш, powershell.exe живе тут% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe. Це не здається, що це було б PowerShell 2.0. Версія файлу powershell.exe - 6.1.7600.16385, і це теж не дуже допоможе.

Як я точно знаю, чи встановлено у мене вікно PowerShell 2.0 і якщо ні, де посилання на завантаження для Windows 7?

Відповіді:


10

Не потрібно викопувати це з ключів реєстру. Просто запустіть get-host і перевірте версію.


Або використовувати $Hostавтоматичну змінну. Однак у специфікації він позначений як специфічний для реалізації (тоді знову ж таки, Get-Hostзовсім не відображається в специфікації).
Джої

Get-Host взагалі не відображається в специфікації -> Це дивно. Вони щойно випустили цю специфікацію пару тижнів тому. Цікаво, чи це був недогляд?

Ну, можливо, це не вважається частиною командлетів основної мови. $Hostтакож визначається лише реалізацією. Специфікація, очевидно, стосується лише мови PowerShell , а не API та хост-моделі.
Joey

Він також не охоплює PSProviders, але є можливість отримати їх.

12

Ви також можете використовувати $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

Цей вар існує лише у PowerShell V2.0 і надає використану вами CLR версію. Нормальний результат:

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

4

Розташування виконуваних та підтримуючих файлів PowerShell не було змінено для V2, а також .ps1розширення сценарію, оскільки V2 повністю сумісна з зворотним ходом - замінює V1, а не потребує механізму.


0

Зрозумів це

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

Щоб перевірити, чи встановлена ​​версія 1.0 або 2.0 PowerShell, перевірте, чи є в реєстрі таке значення:
Розташування ключа: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellEngine
Ім'я значення: PowerShellVersion
Тип значення: REG_SZ
Дані значення: <1,0 | 2.0>


powershell v2 знаходиться в каталозі v1.0 на win7 / 2008r2. Ви не можете встановити v1 ofhehehehells на цих платформах, навіть якщо цього хочете. Вони є системними компонентами. Якщо ви перебуваєте на w7 або r2, ви можете припустити, що ви маєте v2 або вищі версії.
x0n
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.