WinRM使用方法

极客

WinRM使用方法详解:远程管理Windows,看这一篇就够了!

哎,说到Windows远程管理,你是不是第一反应就是远程桌面(RDP)?说实话,我以前也这样,直到有一天,我在机房里对着几十台服务器,需要批量改个配置,那叫一个崩溃啊!一台台连桌面,鼠标点来点去,效率低得想哭。

WinRM使用方法

后来,我老大甩给我一句话:“去学学WinRM吧,配好这个,你就能像操作Linux一样用命令行玩转Windows了!” 嘿,这一下就打开了新世界的大门!我就把我自己摸索出来的WinRM使用方法,全盘托出,保证你看完就能上手,彻底告别“鼠标战士”的苦逼生活。

啥是WinRM?简单说,它就是Windows的“SSH”

咱们不扯那些复杂的定义,你就把它当成是Windows系统内置的一个“小耳朵”,专门用来听外面的指挥,它基于Web Services for Management(WS-Management)协议,说白了,就是让你能用命令行或者脚本,通过网络给Windows下命令、查状态,是不是一下子就亲切了?它的好处可是实实在在的:

  • 批量管理神器:不用一个个远程桌面,写个脚本就能一次性搞定几十台服务器,省下的时间摸鱼不香吗?
  • 跨平台兼容:不光是Windows,你甚至可以在Linux或者macOS上,用工具连过来,只要配置正确。
  • 安全性高:默认加密,还支持HTTPS和Kerberos认证,比传统的Telnet不知道高到哪里去了,至少不会明文传输密码让我提心吊胆。

动手实践:我的WinRM踩坑与配置经验

光说不练假把式,下面我就分几步走,给你演示下WinRM使用方法的核心配置,全是我的真实经验!

第一步:开启服务(这一步都做不对,后面全白搭!)

你要以管理员身份打开PowerShell或CMD,必须是管理员!不然会一直报错“拒绝访问”,然后运行这个命令:

Enable-PSRemoting -Force

看到没有,它会在本地自动启动WinRM服务,并设置防火墙规则,允许远程管理,有时候需要你确认一下,直接输Y回车就行了,这个过程会快得让你怀疑人生,配置还没完呢!

第二步:检查配置(心里有个底,才不会慌)

开启服务后,我习惯先查一下状态,用这个命令:

Get-Service WinRM

看到“Running”状态,嗯,第一步稳了,再用winrm quickconfig跑一下,它会自动检测并配置,如果提示“Set-NetFirewallRule”什么的,说明防火墙也OK了,这时候,你可以用winrm e winrm/config/listener看看监听端口,默认是5985(HTTP)和5986(HTTPS)。

第三步:设置信任主机(这是关键!也是很多人踩坑的地方!)

这一步是大坑,尤其是当你需要连接的工作组环境(没加入域)时,如果你直接连,肯定会碰到“拒绝访问”或者“身份验证错误”之类的报错,能把你气疯!解决办法就是,在目标机器上设置信任来源IP。

在目标机器(被管理的)上,管理员PowerShell运行:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "你的IP地址" -Force

强烈建议,把你的IP地址换成你本机的具体IP,千万别图省事直接写,那等于把所有不良分子都放进家门了,真的会出事!设完之后,再输入Restart-Service WinRM重启服务,让它生效,这一步做完,我长舒一口气,感觉离“自由”又近了一步。

终极操作:真正的WinRM使用方法——耍起来!

配置完毕,终于到了最爽的环节——远程执行命令!在你本地的PowerShell里,直接这样写:

Invoke-Command -ComputerName "目标机器IP" -Credential (Get-Credential) -ScriptBlock { 这里的命令就是要在远程机器上运行的 }

我想看看远程电脑上的C盘空间:

Invoke-Command -ComputerName "192.168.1.100" -Credential (Get-Credential) -ScriptBlock { Get-PSDrive C }

在弹出的窗口里,输入目标机器的管理员账号密码,敲下去的那一刻,命令一闪而过,嗖”地一下,结果就出现在了你的屏幕上!天呐,那种“运筹帷幄之中,决胜千里之外”的感觉,简直是爽爆了!再也不用远程桌面盯着屏幕发呆了。

我平时最常用的几个场景,也分享给你们:

  • 批量装软件:用Invoke-Command配合官方静默安装参数,能一次性给N台电脑装软件,效率提升的不是一点点。
  • 查看日志:当发现某台服务器报错,直接远程Get-EventLog -LogName System -Newest 20,不慌不忙拉到眼前看,根本不用切换到那台电脑上去点。
  • 管理服务:远程重启一个卡死的服务,我记得有一次,某个服务状态僵住了,我直接远程Restart-Service -Name "某某服务",两秒钟搞定,同事都以为我有啥魔法。

结尾分享:一些小感慨

这个WinRM的学习过程,虽然一开始遇到点波折(主要是那个TrustedHosts坑了我好久),但一旦掌握,那种掌握感真的非常棒,它让我从一个整天跑来跑去的“救火队员”,变成了一个可以坐在工位上喝咖啡,顺手就把问题解决的“指挥官”。

WinRM几乎已经成了我日常管理Windows环境不可或缺的一部分了,希望我的这篇实战干货,能帮你少走点弯路,如果你在配置过程中也碰到什么奇奇怪怪的问题,欢迎在评论区留言,咱们一起探讨,一起进步!

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]