Удаленное управление IIS в Windows Server 2016/2012 R2
Веб-сервером Internet Information Service в Windows 2016/2012/R2, как и в предыдущих версиях IIS, можно управлять удаленно. На самом деле управлять несколькими IIS-серверами с одной консоли достаточно удобно, и это практически единственный способ управлять веб-сервером, работающим в режиме Core/Nano. Однако по умолчанию удаленное управление IIS отключено, и если вы попытаетесь добавить удаленный сервер с работающим IIS в консоль управления IIS (меню Подключение к серверу) на другом сервере, возникнет следующая ошибка. появляется сообщение:
Не удалось подключиться к указанному компьютеру
Подробности: Невозможно подключиться к удаленному серверу.
Установка службы управления IIS
Дело в том, что при стандартной установке IIS не устанавливается служба, отвечающая за его удаленное управление (IIS Management Service). Убедиться в отсутствии этой службы в системе можно с помощью следующей команды PowerShell:
Get-WindowsFeature *web-mgmt*
Как видите, служба Web-Mgmt-Service не установлена. Установите его, выполнив следующую команду PowerShell с правами локального администратора:
Add-WindowsFeature Web-Mgmt-ServiceИли вы можете использовать командлет PowerShell для установки функции:
Install-WindowsFeature Web-Mgmt-ServiceВы также можете установить компонент Management Service из консоли диспетчера серверов:
Затем перезапустите веб-службу IIS:
iisreset -noforceСледующим шагом будет разрешение удаленных подключений в настройках веб-сервера IIS. Для этого откройте элемент Служба управления в разделе Управление диспетчера IIS.
Установите флажок «Включить удаленные подключения» в разделе «Служба управления».
Здесь вы можете ограничить подключения к консоли управления IIS по IP-адресу. Для этого запретите соединения для неуказанных клиентов (Доступ для неуказанных клиентов: Запретить) и укажите IP-адрес/IP-подсети, для которых разрешены соединения. Служба удаленного подключения использует SSL-сертификат, но вы можете использовать другой, если импортировали его в хранилище сертификатов сервера (вы можете создать и использовать самозаверяющий SSL-сертификат с помощью PoSh). Сохраните изменения.
Примечание. По умолчанию порт 8172 используется для удаленного управления IIS. Когда вы сохраните изменения, этот порт будет автоматически открыт в брандмауэре Windows.
Примечание. Эту опцию можно активировать через реестр на удаленном сервере IIS, работающем в режиме Core, установив для параметра EnableRemoteManagement в разделе реестра HKLM\Software\Microsoft\WebManagement\Server значение 1. Вы можете использовать параметр команда:
Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1В этом случае вам придется создать правило брандмауэра вручную:
netsh advfirewall firewall add rule name=”Allow IIS Web Management” dir=in action=allow service=”WMSVC”Теперь вам просто нужно запустить службу веб-управления:
net start wmsvcИ настройте службу на автоматический запуск при запуске системы:
set-service wmsvc -StartupType AutomaticИли следующим образом:
sc config WMSVC start= autoПосле этого удаленный веб-сервер IIS можно добавить в консоль диспетчера IIS, и вы сможете управлять сервером IIS и несколькими сайтами на нем так же, как локальным веб-сервером.
Разрешить учетным записям, не являющимся администраторами, удаленное управление сайтом IIS
По умолчанию только пользователи с правами администратора имеют разрешение на удаленное управление сервером IIS. Чтобы предоставить разрешение на удаленное управление IIS обычным пользователям, необходимо предоставить соответствующие разрешения на уровне каждого веб-сайта IIS. Выберите сайт и найдите параметр Разрешения диспетчера IIS.
На панели «Действия» нажмите Разрешить пользователю. Выберите учетную запись пользователя, которой вы хотите предоставить доступ к IIS, и нажмите «ОК».
Разрешения пользователей на управление сайтами на сервере IIS настраиваются в разделе Делегирование функций на уровне сервера IIS.
Вы можете выбрать один из трех уровней доступа пользователей для каждой функции управления сервером IIS: «Только чтение», «Чтение/запись» или «Не делегировано».
Как удаленно управлять серверами IIS из Windows 10?
Если вам необходимо удаленно управлять серверами IIS с рабочего стола клиента с Windows 10 (Windows 7 или 8.1), вам необходимо установить консоль управления IIS из: Включение или отключение функций Windows -> Информационные службы Интернета -> Инструменты веб-управления -> Консоль управления IIS.
Вы можете установить эту функцию с помощью команды PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-ManagementService"Однако при запуске консоли диспетчера IIS в Windows 10 пункт Подключиться к серверу в меню отсутствует.
Чтобы иметь возможность удаленно подключаться к IIS из Windows 10, вам необходимо скачать и установить пакет IIS Manager for Remote Administration (https://www.microsoft.com/en-us/download/details.aspx?id=41177). .
Совет. Существует версия IIS Manager для ОС x64 (inetmgr_amd64_en-US.msi) и x86 (inetmgr_x86_en-US.msi).
После установки необходимо перезапустить IIS Manager и подключиться к сайту. Если при подключении к IIS окажется, что версия консоли на клиенте и сервере разная, появится уведомление: в нем написано, что необходимо обновить версию консоли (все необходимые файлы будут автоматически загружены с сервера).
Теперь вы должны успешно подключиться к своему серверу IIS и удаленно управлять им со своего рабочего места.
Удаленное управление IIS и поддержка TLS 1.1/TLS 1.2
Если вы отключили в IIS незащищенные протоколы SSLv3 и TLS 1.0 и оставили только TLS 1.1/TLS 1.2, то при удаленном подключении к IIS появится ошибка:
The underlying connection was closed: An unexpected error occurred on a send.Для устранения проблемы необходимо внести изменения в реестр на стороне клиента, для обязательного использования протокола TLS 1.2 при подключении. Настройки зависят от версии Windows.
Windows 10 и Windows Server 2016:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001Windows 2012/R2 и Windows 8/8.1:
NET Framework 4.5.2 или выше (как проверить, какие версии NET Framework установлены).
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001Windows Server 2008 R2/Windows 7:
Сначала необходимо установить обновление KB3154518, чтобы включить TLS 1.2 в .NET Framework 3.5.1.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2][HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]"DisabledByDefault"=dword:00000000[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]"DisabledByDefault"=dword:00000000














