返回

WinRM 实战教程:让远程控制 Windows 服务器不再困难

后端

在很多企业中,会使用闲置的 Windows 机器作为临时服务器。有时候,我们需要远程调用其中的程序或查看日志文件。此时,Windows 内置的服务「winrm」就可以满足我们的需求。它是一种基于标准简单对象访问协议(WS-Management)的远程管理协议,允许我们使用 PowerShell 或命令提示符来远程执行命令和脚本。

先决条件

  • Windows Server 2012 或更高版本
  • 管理员权限
  • 网络连接

步骤 1:安装 WinRM

如果你的 Windows Server 没有安装 WinRM,请按照以下步骤进行安装:

  1. 打开「服务器管理器」,点击「添加角色和功能」。
  2. 在「选择安装类型」中选择「基于角色或基于功能的安装」。
  3. 在「选择目标服务器」中选择要安装 WinRM 的服务器。
  4. 在「选择服务器角色」中选择「Web 服务器(IIS)」。
  5. 在「选择功能」中选择「WinRM 管理工具」和「WinRM 服务」。
  6. 点击「下一步」并继续安装。

步骤 2:启用 WinRM 服务

安装完成后,我们需要启用 WinRM 服务:

  1. 打开「服务」,找到「WinRM 服务」。
  2. 右键点击「WinRM 服务」并选择「启动」。
  3. 将「启动类型」设置为「自动」。

步骤 3:配置 WinRM 防火墙规则

接下来,我们需要配置 WinRM 防火墙规则:

  1. 打开「控制面板」,选择「Windows 防火墙」。
  2. 点击「高级设置」。
  3. 在「入站规则」中找到「WinRM 入站规则」。
  4. 右键点击「WinRM 入站规则」并选择「启用规则」。

步骤 4:测试 WinRM 连接

现在,我们可以测试 WinRM 连接:

  1. 打开「PowerShell」。
  2. 输入以下命令:
winrm quickconfig
  1. 如果你看到「WinRM service is already running」的消息,则表示 WinRM 连接成功。

步骤 5:使用 WinRM 远程执行命令

现在,我们可以使用 WinRM 远程执行命令:

  1. 打开「PowerShell」。
  2. 输入以下命令:
winrm invoke-command -computername [server_name] -command "echo Hello World"
  1. 如果你看到「Hello World」的消息,则表示远程命令执行成功。

步骤 6:使用 WinRM 远程执行脚本

我们还可以使用 WinRM 远程执行脚本:

  1. 在本地计算机上创建一个脚本文件,例如「test.ps1」。
  2. 在脚本文件中输入以下内容:
Write-Host "Hello World"
  1. 将脚本文件复制到远程计算机上。
  2. 打开「PowerShell」。
  3. 输入以下命令:
winrm invoke-command -computername [server_name] -scriptblock {Import-Module .\test.ps1; test}
  1. 如果你看到「Hello World」的消息,则表示远程脚本执行成功。

结语

通过本教程,你已经学会了如何在 Windows Server 上使用 WinRM 进行远程管理。这将使你能够轻松地访问和控制远程计算机,执行命令和脚本,从而提高你的工作效率。