Дополнение A. WinRM 3.0: Удалённое управление Windows Server 2008 R2 при помощи диспетчера сервера и PowerShell

Это Дополнение является переводом поста Джима Джонса https://4sysops.com/archives/winrm-3-0-manage-windows-server-2008-r2-remotely-with-server-manager-and-powershell/. В нём он знакомит с шагами для получения надлежащим образом настроенного в Windows Server R2 WinRM 3.0, чтобы позволить вам применять Диспетчер сервера, а также сделать возможными удалённые сеансы PowerShell.

Предварительные требования

В моём рабочем пространстве мы находимся в процессе замены Windows Server 2003 R2 и некоторых систем Windows Server 2008 R2 на ВМ 2012 R2. По моему мнению, одним из ключевых преимуществ поколения Server 2012 R2/Windows 8.1 является включение централизованного приложения Диспетчера сервера, которое позволяет вам управлять производительностью и событиями, а также управлять ролями и свойствами люого числа серверов в пакете.

Так как эта технология стартует начиная с Server 2012, вы бы могли предположить, что она применима только к 2012 и выше, однако предприняв небольшие усилия, её можно применить к вашему Server 2008 SP2, а также Server 2008 R2 SP1. Единственным предостережением является то, что установка ролей и свойств самих по себе не возможна для серверов с более низкой версией, так как она возможна только начиная с версии Сервеа 2012 и выше. {Прим. пер.: На самом деле WinRM 3.0 можно установить следуя излагаемой здесь процедуре и в Windows Server 2008, применяя соответствующие пакеты обновлений Windows6.0-*-x64.msu/ Windows6.0-*-86.msu вместо Windows6.1-*-x64.msu/ Windows6.1-*-86.msu.}

 

Рисунок A-1


Server Manager до настройки WinRM 3.0

Если у вас имеется коробка с работающим Windows 8 или Server 2012 {или 10/ 2016}, вы можете забежать вперёд и запустить Диспетчер сервера (Server Manager), пройти в Управление (Manage) и выбрать Добавить серверы. Вы можете затем осуществить поиск с помощью Active Directory и добавить столько серверов, сколько пожелаете {Прим. пер.: подробнее в разделе Управление удалёнными серверами из единой панели при помощи Диспетчера сервера Первой главы основной книги.} Если этот процесс ещё не был выполнен, вы скорее всего обнаружите состояние Управляемости (manageability) - "В сети: убедитесь что служба WinRM 3.0 установлена, работает, а требуемые порты брандмауэра открыты" (Online - Verify WinRM 3.0 service is installed, running and required firewall ports are open), как это показано в приведённом рисунке.

Для запуска необходимого процесса давайте проверим вначале наличие некоторые предварительных требований. Вы должны исполнить Service Pack 2 в Server 2008 или Service Pack 1 в Server 2008 R2. Вы также должны иметь установленным .NET 4.0 Framework. Наконец, в случае сервера Windows 2008 вам может понадобиться установить предваряющий WMF 3.0 Windows Management Framework 2.0. Вот пара строчек, которые вы можете выполнить из PowerShell для получения необходимой для этого информации:

Определите версию service pack:


wmic OS Get ServicePackMajorVersion
		

Получите информацию о версии .NET 4 (если будет возвращена ошибка, это будет результатом того, что он не установлен):


Get-ItemProperty "hklm:\\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"
		

Пример вывода состояния предварительных требований:


PS C:\Windows\system32> wmic OS Get ServicePackMajorVersion
ServicePackMajorVersion
1
 
PS C:\Windows\system32> Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"
 
 
PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4
PSChildName   : Client
PSDrive       : HKLM
PSProvider    : Microsoft.PowerShell.Core\Registry
Version       : 4.5.50938
TargetVersion : 4.0.0
Install       : 1
MSI           : 1
Servicing     : 0
Release       : 378758
InstallPath   : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
		

Вернёмся к версиям компонентов PowerShell (нка самом деле нас заботит свойство PSVersion):


PS C:\Windows\system32> $PSVersionTable
 
Name                           Value
----                           -----
CLRVersion                     2.0.50727.5477
BuildVersion                   6.1.7601.17514
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1
		

Как вы можете видеть, всё готово к тому, чтобы мы проследовали далее и продолжили настройку WinRM 3.0.

Установка и настройка WinRM 3.0

Для получения WinRM 3.0 да, нам требуется установить Windows Management Framework 3.0, который является простым MSU, как и инструментарий RSAT. Когда он выполнен, вы можете проверить выполнение установки исполнив команду $PSVersionTable вновь, отобразив значение новой версии. Чтобы данное обновление вступило в силу, потребуется перезагрузка.

Также ещё имеется некая заплата, KB2682011, которая делает возможным накопительный сбор информации о производительности таких более ранних серверов. При первой возможности, когда я попробовал установить её, установщик этой заплатки ответил, что имеющаяся версия не применима к моему компьютеру, что сообщило мне о том, что скорее всего следует откатить что- то на одну позицию. Если вы не можете получать необходимые данные о производительности Диспетчером сервера, это может быть чем- то, что стоит попробовать.

Наконец, мы собираемся проследовать в окно PowerShell, исполняемое от имени Администратора для выполнения последней пары шагов. Когда вы получите открытым приглашение командной строки, исполните следующие команды:


winrm qc
Enable-PSRemoting –Force
 	   

PS C:\Windows\system32> winrm qc
WinRM already is set up to receive requests on this machine.
WinRM is not set up to allow remote access to this machine for management.
The following changes must be made:
 
Enable the WinRM firewall exception.
 
Make these changes [y/n]? y
 
WinRM has been updated for remote management.
 
WinRM firewall exception enabled.
PS C:\Windows\system32> Enable-PSRemoting -Force
WinRM already is set up to receive requests on this computer.
WinRM already is set up for remote management on this computer.
		

Первая команда запускает и настраивает установку необходимой службы WinRM в автоматическом режиме, настраивает необходимый порт ожидания, а также определяет исключения межсетевого экрана для данного порта ожидания. Вторая команда настраивает ваш компьютер для приёма любых команд PoweerShell, отправляемых через WinRM. Когда они выполнены, и если вы получите показанные результаты, вы должны получить возможность кликнуть правой кнопкой по такому серверу в своём Диспетчере сервера, выбрать Обновление (Refresh) и получить полную {почти} функциональность. По умолчанию счётчики производительности не запускаются. Если вы желаете применять их, вам следует кликнуть правой кнопкой по соответствующему серверу и выбрать Запустить счётчики производительности (Start Performance Counters).

 

Рисунок A-2


Server Manager после настройки WinRM 3.0