По-перше, правильним методом перевірки версії PowerShell є перевірка змінної, $PSVersionTable.PSVersion
а не використання $ Host або Get-Host.
По-друге, слід зробити кілька досліджень щодо того, яку версію PowerShell слід встановити на своєму сервері, а не просто оновити її до останньої наявної версії. Чудовий пост The Scripting Guy: Чи варто оновити до останньої версії Windows PowerShell? може допомогти вам прийняти це рішення. Наприклад, повідомлення вказує, що оновлення PowerShell може зламати важливі програми:
Чи може оновлення Windows PowerShell зламати будь-яке з моїх програм? На жаль, відповідь така: Примітки до випуску для Windows PowerShell 4.0 містять такий список програм, з якими Windows PowerShell 4.0 несумісний:
- Менеджер конфігурацій System Center 2012 (не включаючи SP1)
- Менеджер віртуальної машини System Center 2008 R2 (включаючи SP1)
- Microsoft Exchange Server 2013, Microsoft Exchange Server 2010 та Microsoft Exchange Server 2007
- Microsoft SharePoint 2013 та Microsoft SharePoint 2010
- Windows Small Business Server 2011 Standard
Якщо на вашій машині працює будь-який із цих продуктів, не встановлюйте Windows PowerShell 4.0. У Windows PowerShell 3.0 є дуже схожий список. Деякі з цих програм (наприклад, Exchange Server 2013) сумісні з пакетом обслуговування. Вам потрібно буде визначити, чи доступний сервісний пакет чи інше виправлення для вашої конкретної програми та ситуації.
Крім того, нові версії PowerShell, а також можуть зламати існуючі сценарії.