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

  • 相关阅读:
    关于SQLServer数据库中字段值为NULL,取出来该字段放在DataTable中,判断datatable中该字段值是否为NULL的三种方法
    关于web程序中使用KindEditor向数据库插入带有格式的数据时出现的问题
    使用再生龙对ubuntu16.04系统完全备份与还原
    mysql数据库操作指令汇总
    ubuntu安装supervisor以及使用supervisor启动.net core进程
    c#小数取整
    nuget.server搭建及实际测试
    mysql主从同步+mycat读写分离+.NET程序连接mycat代理
    EasyNVR-流媒体服务详解
    Js实现子窗体给父窗体的元素赋值
  • 原文地址:https://www.cnblogs.com/endv/p/6540584.html
Copyright © 2011-2022 走看看