Обновление
Разберем установку PowerShell версии 5.1, а так же его удаление, на Windows Server 2012
Этому обновлению соответствует KB3191565
По умолчанию в Windows Server 2012 установлен PowerShell версии 3.0
WMF 5.1 в своих пререквизитах не требует установки промежуточных версий, в отличии от упраздненного WMF 5.0.
Поэтому мы сразу можем перейти к установке Windows Management Framework 5.1
Ознакомиться со всеми требованиями к установке можно тут
Откат версии на более низкую
Если у вас есть необходимость вернуться к более низкой версии PowerShell, из-за неправильно выполненной установки, либо ради проведения тестов, то вы можете попробовать следующий вариант.
Находим список установленных WMF:
Самый быстрый вариант, это использовать скрипт который парсит логи на предмет наличия в них записей о работе с WMF
Показать скрипт поиска обновлений
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
$Session = [activator]::CreateInstance([type]::GetTypeFromProgID("Microsoft.Update.Session","localhost")) $Searcher = $Session.CreateUpdateSearcher() $HistoryCount = $Searcher.GetTotalHistoryCount() $Searcher.QueryHistory(0,$HistoryCount) | ForEach-Object -Process { $Title = $null if($_.Title -match "\(KB\d{6,7}\)"){ # Split returns an array of strings $Title = ($_.Title -split '.*\((?<KB>KB\d{6,7})\)')[1] }else{ $Title = $_.Title } $Result = $null Switch ($_.ResultCode) { 0 { $Result = 'NotStarted'} 1 { $Result = 'InProgress' } 2 { $Result = 'Succeeded' } 3 { $Result = 'SucceededWithErrors' } 4 { $Result = 'Failed' } 5 { $Result = 'Aborted' } default { $Result = $_ } } New-Object -TypeName PSObject -Property @{ InstalledOn = Get-Date -Date $_.Date; Title = $Title; Name = $_.Title; Status = $Result; Description = $_.Description } } | ?{ $_.Description -match 'Windows Management Framework'} | ?{ $_.Status -eq 'Succeeded' } | Sort -Property InstalledOn |
Еще один способ найти обновление — это использовать командлет Get-HotFix:
1 |
Get-HotFix KB3191565 |
Его минус в том, что он не отображает имя программы к которой относится Update, а так же его точное время установки.
Затем выполняем команду на удаление выбранного KB, соответствующего нужному нам WMF:
1 |
wusa /uninstall /kb:3191565 |
И последним шагом заново выполняем установку PowerShell 5.1
1 |
wusa C:\W2K12-KB3191565-x64.msu |
Про развертывание PowerShell в домене средствами GPO читайте тут