Windows开启winrm

因为进行远程powershell管理必须需要启用winrm的服务,所以需要在windows平台上启用winrm服务winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;
winrm enumerate winrm/config/listener

针对winrm service 进行基础配置:
winrm quickconfig

查看winrm service listener:
winrm e winrm/config/listener

为winrm service配置auth:
winrm set winrm/config/service/Auth '@{Basic="true"}'

为winrm service 配置加密方式为允许非加密:
winrm set winrm/config/service '@{AllowUnencrypted="true"}'

非administrator用户需要执行以下步骤:

用户加到administrators组:

Windows开启winrm_第1张图片

禁用UAC(改注册表)

为什么winrm要禁用uac,在这篇文章里可以找到:

Disable User Account Control (UAC) - Windows Server | Microsoft Docs

Windows开启winrm_第2张图片

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Windows开启winrm_第3张图片

Powershell执行:

Set-PSSessionConfiguration -Name Microsoft.PowerShell –showSecurityDescriptorUI

添加DPM用户读取、执行权限:

Windows开启winrm_第4张图片

Powershell执行:

获取SDDL格式的当前访问描述符:

(Get-PSSessionConfiguration -Name "Microsoft.PowerShell").SecurityDescriptorSDDL

然后,您可以使用此SDDL字符串授予对任何其他服务器或工作站上PowerShell的访问权限。

注:每台服务器获得的描述符不一样,请将上面获取到描述符替换到$SDDL=“”

Powershell执行:

$SDDL = "O:NSG:BAD:P(A;;GA;;;BA)(A;;GXGR;;;S-1-5-21-3222124782-533421702-3897355594-1018)(A;;GA;;;RM)(A;;GA;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)"

Set-PSSessionConfiguration -Name Microsoft.PowerShell -SecurityDescriptorSddl $SDDL

Windows开启winrm_第5张图片

Powershell执行

设置信任主机:

Set-Item WSMan:localhost\client\trustedhosts -value 192.168.40.63        ---DCP_IP

Windows开启winrm_第6张图片

重启WMI服务:

Windows开启winrm_第7张图片

你可能感兴趣的:(winrm,windows,microsoft)