WinRM
Windows 远程管理,可以用 Powershell 来远程发送指令,和 RDP 不属于同一类服务。也就是说,如果 RDP 崩了 或 其他意外的状况,但系统内核和网络驱动还在正常工作,那你就可以用这个方法来解决一部分的问题。
启用
# 快速配置(配置服务,打开端口)
winrm quickconfig
# 开启Remote
Enable-PSRemoting
实用命令
远程重启
Restart-Computer -ComputerName 100.64.0.198 -Credential (Get-Credential) -Force
通过 Linux 连接
Ubuntu(包括 26.04)本身没有原生 WinRM 客户端,但可以通过 Python 库, 实现远程执行 Windows 命令行(CMD / PowerShell)。
- Ansible
- python3
- python3-winrm
安装环境
sudo apt install ansible
sudo apt install python3-winrm
创建 inventory
mkdir /home/{user}/inventory
vim inventory/windows.ini
[windows]
192.168.1.100
[windows:vars]
ansible_user=你的Windows用户名
ansible_password=你的密码
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_port=5985
ansible_winrm_scheme=http
# 如果走 HTTPS 且用自签名证书,需加下面这行忽略证书校验
# ansible_winrm_server_cert_validation=ignore
测试连接
ansible -i /home/user/inventory windows -m ansible.windows.win_ping
# 也可以相对目录
ansible -i inventory windows -m ansible.windows.win_command -a "ipconfig /all"