XXXXX
C/C++
XXXXX
C#/.net
XXXXX
js
java
java
开发导航 开发导航 www.endv.cn
天云

Powershell 远程管理

一直使用 mstsc,为了防止墨菲定律,准备一些备用方案

 环境,win10 to win12

winrm是windows 一种方便远程管理的服务;

首先要开启winrm service,便于在日常工作中,远程管理服务器,或通过脚本,同时管理多台服务器,来提高工作效率;

运行cmd
1 winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;

winrm enumerate winrm/config/listener

如果没启动,则打开 计算机管理>服务启用 WRM服务 并设置为自动运行

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

winrm quickconfig

3 查看winrm service listener:

winrm e winrm/config/listener

4 为winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

5 为winrm service 配置加密方式为允许非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

6 至此,winrm service 已经启用,可以正常使用;

 

 服务端:运行 PowerShell

 

开打远程管理  Enable-PSRemoting –Force

Windows PowerShell
版权所有 (C) 2014 Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> Enable-PSRemoting –Force
在此计算机上设置了 WinRM 以接收请求。
在此计算机上设置了 WinRM 以进行远程管理。
PS C:\Users\Administrator>

客户端:连接  PowerShell

 

Windows PowerShell
版权所有 (C) 2016 Microsoft Corporation。保留所有权利。

PS C:\Windows\system32> cd wsman::localhost\client
PS Microsoft.WSMan.Management\WSMan::localhost\Client> Set-Item TrustedHosts “218.2.2.18

WinRM 安全配置。
此命令修改 WinRM 客户端的 TrustedHosts 列表。TrustedHosts
列表中的计算机可能不会经过身份验证。该客户端可能会向这些计算机发送凭据信息。是否确实要修改此列表?
[Y] 是(Y)  [N] 否(N)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): y
PS Microsoft.WSMan.Management\WSMan::localhost\Client> ls


   WSManConfig:Microsoft.WSMan.Management\WSMan::localhost\Client

Type            Name                           SourceOfValue   Value
----            ----                           -------------   -----
System.String   NetworkDelayms                                 5000
System.String   URLPrefix                                      wsman
System.String   AllowUnencrypted                               false
Container       Auth
Container       DefaultPorts
System.String   TrustedHosts                                   218.2.2.18


PS Microsoft.WSMan.Management\WSMan::localhost\Client> Enter-PSSession -ComputerName 218.2.2.18 –Credential  Administ
rator
[218.2.2.18]: PS C:\Users\Administrator\Documents> d:
[218.2.2.18]: PS D:\> dir

 客户端退出 Exit-Pssession

 Exit-Pssession

如果要使用Hyper-V管理,还需要使用Selfssl.exe生成证书

您可以通过检查证书列表来验证任何服务器上的证书。
打开证书列表
开始菜单上,单击运行,然后键入mmc。单击Enter。这将启动Microsoft管理控制台(MMC)。
在控制台中,单击“ 文件 ”菜单,然后单击“ 添加/删除管理单元”。
在“ 添加/删除管理单元”窗口中,单击添加按钮。
在管理单元列表中,选择证书,然后单击添加
在“ 证书管理单元”窗口中,选择计算机帐户,然后单击下一步
在“ 选择计算机 ”窗口中,选择“ 本地计算机”或“ 其他计算机”,然后单击“完成”。这会将“证书管理单元”添加到列表中。关闭窗口。
在“ 添加/删除管理单元”窗口中,单击“确定”。这会将证书管理单元添加到mmc控制台。
展开“ 证书”节点以查看不同类型的证书。
使用Selfssl工具创建的自我信任证书将显示在个人和受信任的根证书颁发机构 文件夹中的证书文件夹中。它将具有您在/ N:CN中指定的名称。

 

打开MMC 找到刚才的证书,复制证书 详细信息里面的 指纹

执行CMD
C:\Users\Administrator> winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="192.168.1.102";CertificateThumbprint="‎ eb 5d 5d 5d 89 5d 5d 5d 5d 5d 5d ac 5d 5d 5d 5d 5d aa 5d 5d"}
添加对https 的监听,以及添加证书指纹.

执行 Winrm enumerate winrm/config/listener  也可以确认添加是否成功显示:


说明已经正确添加了SSL证书.再次返回到客户端进行连接:
Powershell
Enter-PSSession -ComputerName 192.168.1.102 –Credential  Administrator –UseSSL

 

参考:https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/Exit-PSSession

 

posted @ 2017-03-13 02:15  Endv  阅读(928)  评论(0编辑  收藏  举报