Обновление
Разберем установку 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
Показать скрипт поиска обновлений
$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:
Get-HotFix KB3191565
Его минус в том, что он не отображает имя программы к которой относится Update, а так же его точное время установки.
Затем выполняем команду на удаление выбранного KB, соответствующего нужному нам WMF:
wusa /uninstall /kb:3191565
И последним шагом заново выполняем установку PowerShell 5.1
wusa C:\W2K12-KB3191565-x64.msu
Про развертывание PowerShell в домене средствами GPO читайте тут