zoukankan      html  css  js  c++  java
  • 使用PowerShell远程连接WinServer

    最近做一个项目后台,涉及到多台服务器,当程序更新的时候,由于用的是WinServer,无法像Linux使用SSH批量更新,用Windows的mstsc的远程一个一个连接又太麻烦了。查找了一下资料,发现可以使用Windows系统自带的PowerShell连接的远程机子。

    首先在服务端,打开PowerShell管理员窗口,输入以下指令开启允许远程访问:

    Enable-PSRemoting

    然后在客户端也开启允许访问,由于我这边使用的专用网络,使用以下脚本跳过网络限制:

    Enable-PSRemoting -SkipNetworkProfileCheck -force

    设置信任IP,其中*可更换为任一ip,如果为*即全部IP:

    Set-Item WSMan:localhostClientTrustedHosts -Value * -Force 

    客户端设置允许使用脚本:

    set-ExecutionPolicy RemoteSigned

    可以查看WinRm是否开启成功:

    winrm enumerate winrm/config/listener

    使用以下脚本远程连接到服务器操作:

    $uname="administrator" #administrator为用户名

    $pwd=ConvertTo-SecureString "123456" -AsPlainText -Force; #123456为密码

    $cred=New-Object System.Management.Automation.PSCredential($uname,$pwd); #创建自动认证对象

    $servers="IP" #IP地址

    Enter-PSSession -ComputerName $servers -Credential $cred #登录

    如果要批量更新,则不需要连接到远程机子上,只需要给远程机发送指令,让远程机自动执行即可:

    $uname="administrator" #administrator为用户名

    $pwd=ConvertTo-SecureString "123456" -AsPlainText -Force; #123456为密码

    $cred=New-Object System.Management.Automation.PSCredential($uname,$pwd); #创建自动认证对象

    $servers="IP" #IP地址

    Invoke-Command -ComputerName $servers -credential $cred -ErrorAction Stop -ScriptBlock {Invoke-Expression -Command "& `"D:lwccRelease oolsAutoUpdateAuto.bat`" C: empTestProject1TestProject1.pjs /run /exit /SilentMode"} #执行的命令

  • 相关阅读:
    模块入门–搜索
    [hadoop源码阅读][2]package结构
    [hadoop源码阅读][8]datanodeDataStorage
    [hadoop源码阅读][4]org.apache.hadoop.io
    [hadoop源码阅读][6]org.apache.hadoop.ipcprotocol和心跳分析
    [hadoop源码阅读][1]源码目录结构
    [hadoop源码阅读][4]org.apache.hadoop.io.compress系列3使用压缩
    [hadoop源码阅读][3]新旧api区别
    [hadoop源码阅读][6]org.apache.hadoop.ipcipc总体结构和RPC
    [hadoop源码阅读][8]datanodeFSDataset
  • 原文地址:https://www.cnblogs.com/dlvguo/p/10374078.html
Copyright © 2011-2022 走看看