一、WinRM简介
Windows远程管理(WinRM)是WS-Management协议的Microsoft实现,基于简单对象访问协议(SOAP)的防火墙友好的标准协议,它允许来自不同供应商的硬件和操作系统进行互操作,使管理员能够通过防火墙远程管理计算机设备,WinRM在Windows Server 2008 R2及其以上版本中默认安装并启动,而在Windows 7及更高版本的单机系统中默认存在但未启用,需要手动配置。
二、WinRM服务配置
1. 检查WinRM服务状态
winrm e winrm/config/listener
2. 开启WinRM服务
Enable-PSRemoting -Force
3. 快速配置WinRM服务
winrm quickconfig
此命令执行以下操作:
启动WinRM服务,并将服务启动类型设置为“自动启动”。
为在任何IP地址上使用HTTP或HTTPS发送和接收WS-Management协议消息的端口配置侦听器。
定义WinRM服务的ICF例外,并打开HTTP和HTTPS端口。
4. 查看WinRM配置
winrm get winrm/config
5. 修改WinRM默认端口
winrm set winrm/config/client/DefaultPorts '@{HTTPS="8888"}'
6. 设置只允许指定IP远程连接WinRM
winrm set winrm/config/Client '@{TrustedHosts="192.168.10.*"}'
7. 配置认证方式
winrm set winrm/config/service/auth '@{Basic="true"}'
8. 允许非加密传输
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
三、WinRM常用命令及操作
1. 查看远程磁盘大小
Invoke-Command -ComputerName "远程计算机名或IP" -ScriptBlock { Get-PSDrive -PSProvider FileSystem } | Select-Object Name, UsePercentFree, Free, Used, TotalSize
2. 运行远程命令
Invoke-Command -ComputerName "远程计算机名或IP" -Credential (Get-Credential) -ScriptBlock { Get-Process }
3. 创建和管理PSSession
创建PSSession:
$session = New-PSSession -ComputerName "远程计算机名或IP" -Credential (Get-Credential)
在PSSession中运行命令:
Invoke-Command -Session $session -ScriptBlock { Get-Process }
关闭PSSession:
Remove-PSSession -Session $session
4. 将计算机名称添加到TrustedHosts列表
信任所有计算机:
Set-Item wsman:localhostClientTrustedHosts -Value "*" -Force
信任特定计算机:
Set-Item wsman:localhostClientTrustedHosts -Value "特定计算机名或IP" -Force
四、常见问题与解答
Q1: WinRM服务无法启动怎么办?
A1: 请检查防火墙设置,确保HTTP和HTTPS端口(默认5985和5986)未被阻止,确认WinRM服务已正确安装并在服务列表中显示为“自动”启动类型,如果问题仍然存在,尝试重新安装WinRM服务。
Q2: 如何更改WinRM的默认监听端口数?
A2: 可以通过修改注册表来更改WinRM的默认监听端口数,修改注册表前应备份相关数据以防万一,具体步骤如下:
1、打开注册表编辑器(regedit)。
2、导航到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWSManPluginGlobalSettings。
3、找到或新建名为MaxShellsPerUser的DWORD值,并设置其数值为所需的最大并发连接数。
到此,以上就是小编对于“服务器管理winrm”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/763001.html