在安装了 IIS 的服务器上,我们有 IIS Manager (inetmgr.exe) 来对 IIS 进行管理配置。当然,要对服务器上的 IIS 进行管理配置,我们并不一定需要登入到服务器上,也可以使用 IIS 远程管理工具来进行管理。

下载、安装与配置

下载 IIS 远程管理工具

下载地址: https://www.iis.net/downloads/microsoft/iis-manager

安装完成后,我们可以在开始菜单中,Windows 管理工具下找到 Internet Information Services (IIS) Manager,或者在命令行上输入 inetmgr.exe 来打开 IIS 管理器。

InetMgr.exe

当然,除了本机安装 IIS 远程管理工具外,还需要服务器上装有 Web 管理服务,并配置允许远程对 IIS 进行管理。

如果在 IIS 管理器中可以正常连接服务器(使用服务器上的 Windows 账户凭据进行远程连接)进行配置,说明以上需求均已满足,否则则需对服务器进行相应配置。

安装 Web 管理服务

如果服务器上 Web 管理服务 (Web Management Service, WMSVC) 没有安装的话,可以进入服务器管理器 (Server Manager),添加相应的角色/服务。

在 Server 2008 R2 上安装 Web Management Service
在 Server 2008 R2 上安装 Web Management Service
在 Server 2012 R2 上安装 Web Management Service
在 Server 2012 R2 上安装 Web Management Service

配置允许远程管理

如果服务器上没有配置允许远程管理的话,需做相应的配置。在命令行上执行以下命令即可:

reg add HKLM\Software\Microsoft\WebManagement\Server /v EnableRemoteManagement /t REG_DWORD /d 1 /f

也可以在 InetMgr 界面上进行操作,点击 管理服务/Management Service 图标进入配置:

InetMgr 管理服务

启动 Web 管理服务

当配置完成后,我们需要启动/重启 WMSVC 服务,以使新配置生效。在命令行上执行以下命令即可:

sc stop WMSVC
:: 待服务停止后,重启服务
sc start WMSVC

同样,也可以在 InetMgr 管理服务中选择重启服务。

配置服务开机自启动

执行命令:

sc config WMSVC start= auto

至此,所有的配置都已完成。现在,应当可以在本地的 IIS 远程管理工具中,远程对服务器上的 IIS 进行管理了。

进一步配置

关于远程管理,在 IIS 管理工具中还有许多更详细的配置,如 IIS 管理用户的配置,IIS 管理用户权限的配置,IIS 远程管理证书的配置,远程管理服务参数的配置等。

IIS 远程管理的部分配置同样可以远程进行设置,不过涉及到远程管理服务自身的一些选项则仍需登入服务器,在服务器上的 IIS 管理工具中进行配置。

关于防火墙

IIS 的远程管理服务默认监听 TCP 8172 端口,如果服务器运行在各种云服务或有访问限制的环境中,注意需要允许对 TCP 8172 或所配置端口的访问。

一键脚本

在客户端安装完 IIS 远程管理工具,服务器上安装好 Web 管理服务后,剩下的配置也可以使用以下一键配置脚本完成:

:: Reference Doc:
:: https://www.iis.net/learn/manage/remote-administration/remote-administration-for-iis-manager

REM Enable Remote Connections
reg add HKLM\Software\Microsoft\WebManagement\Server /v EnableRemoteManagement /t REG_DWORD /d 1 /f

REM Start WMSVC on System Boot
sc config WMSVC start= auto

REM (Re)start WMSVC
sc stop WMSVC > nul
:start_wmsvc
sc start WMSVC > nul
if ERRORLEVEL 1 (
	timeout /nobreak 5
	GOTO start_wmsvc
)

echo Done.

(以上脚本在服务器端执行)

该脚本实际也就是上文中提到的各命令的一个集合。另外也可以从 GitHub 访问该脚本。

备份 InetMgr 配置

IIS 管理器(InetMgr.exe)的配置存储在

%APPDATA%\Microsoft\WebManagement\7.0.0.0\InetMgr.preferences

记录了所保存的连接以及 UI 配置等信息。

错误排查

  • 如果在升级 Windows 后,再通过 IIS Manager 远程管理服务器时遇到如下错误:

    IIS - Remote connections are not supported

    则可以通过重新安装或修复安装 IIS Manager 来解决问题,下载地址见上文

  • IIS 管理服务无法启动:

    IIS - WMSVC is stopped

    检查 IIS 管理服务所配置的证书是否被误删除,如上图中 SSL certificate 原先所用的证书被删除了,因此在配置中就无法正常显示了。

    解决方案就是在 Server Certificates 中,重新生成或导入一张证书。注意导入时,证书存储需选择 Personal,而不能选择 Web Hosting

    IIS - Server Certificate

参考文档