返回
WinRM 实战教程:让远程控制 Windows 服务器不再困难
后端
2023-11-29 18:30:14
在很多企业中,会使用闲置的 Windows 机器作为临时服务器。有时候,我们需要远程调用其中的程序或查看日志文件。此时,Windows 内置的服务「winrm」就可以满足我们的需求。它是一种基于标准简单对象访问协议(WS-Management)的远程管理协议,允许我们使用 PowerShell 或命令提示符来远程执行命令和脚本。
先决条件
- Windows Server 2012 或更高版本
- 管理员权限
- 网络连接
步骤 1:安装 WinRM
如果你的 Windows Server 没有安装 WinRM,请按照以下步骤进行安装:
- 打开「服务器管理器」,点击「添加角色和功能」。
- 在「选择安装类型」中选择「基于角色或基于功能的安装」。
- 在「选择目标服务器」中选择要安装 WinRM 的服务器。
- 在「选择服务器角色」中选择「Web 服务器(IIS)」。
- 在「选择功能」中选择「WinRM 管理工具」和「WinRM 服务」。
- 点击「下一步」并继续安装。
步骤 2:启用 WinRM 服务
安装完成后,我们需要启用 WinRM 服务:
- 打开「服务」,找到「WinRM 服务」。
- 右键点击「WinRM 服务」并选择「启动」。
- 将「启动类型」设置为「自动」。
步骤 3:配置 WinRM 防火墙规则
接下来,我们需要配置 WinRM 防火墙规则:
- 打开「控制面板」,选择「Windows 防火墙」。
- 点击「高级设置」。
- 在「入站规则」中找到「WinRM 入站规则」。
- 右键点击「WinRM 入站规则」并选择「启用规则」。
步骤 4:测试 WinRM 连接
现在,我们可以测试 WinRM 连接:
- 打开「PowerShell」。
- 输入以下命令:
winrm quickconfig
- 如果你看到「WinRM service is already running」的消息,则表示 WinRM 连接成功。
步骤 5:使用 WinRM 远程执行命令
现在,我们可以使用 WinRM 远程执行命令:
- 打开「PowerShell」。
- 输入以下命令:
winrm invoke-command -computername [server_name] -command "echo Hello World"
- 如果你看到「Hello World」的消息,则表示远程命令执行成功。
步骤 6:使用 WinRM 远程执行脚本
我们还可以使用 WinRM 远程执行脚本:
- 在本地计算机上创建一个脚本文件,例如「test.ps1」。
- 在脚本文件中输入以下内容:
Write-Host "Hello World"
- 将脚本文件复制到远程计算机上。
- 打开「PowerShell」。
- 输入以下命令:
winrm invoke-command -computername [server_name] -scriptblock {Import-Module .\test.ps1; test}
- 如果你看到「Hello World」的消息,则表示远程脚本执行成功。
结语
通过本教程,你已经学会了如何在 Windows Server 上使用 WinRM 进行远程管理。这将使你能够轻松地访问和控制远程计算机,执行命令和脚本,从而提高你的工作效率。