zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator> Enable-PSRemoting –Force
    在此计算机上设置了 WinRM 以接收请求。
    在此计算机上设置了 WinRM 以进行远程管理。
    PS C:UsersAdministrator>

    客户端:连接  PowerShell

    Windows PowerShell
    版权所有 (C) 2016 Microsoft Corporation。保留所有权利。
    
    PS C:Windowssystem32> cd wsman::localhostclient
    PS Microsoft.WSMan.ManagementWSMan::localhostClient> Set-Item TrustedHosts “218.2.2.18
    
    WinRM 安全配置。
    此命令修改 WinRM 客户端的 TrustedHosts 列表。TrustedHosts
    列表中的计算机可能不会经过身份验证。该客户端可能会向这些计算机发送凭据信息。是否确实要修改此列表?
    [Y] 是(Y)  [N] 否(N)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): y
    PS Microsoft.WSMan.ManagementWSMan::localhostClient> ls
    
    
       WSManConfig:Microsoft.WSMan.ManagementWSMan::localhostClient
    
    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.ManagementWSMan::localhostClient> Enter-PSSession -ComputerName 218.2.2.18 –Credential  Administ
    rator
    [218.2.2.18]: PS C:UsersAdministratorDocuments> 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:UsersAdministrator> 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

  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/endv/p/6540584.html
Copyright © 2011-2022 走看看