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

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

Enable-PSRemoting

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

Enable-PSRemoting -SkipNetworkProfileCheck -force

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

Set-Item WSMan:\localhost\Client\TrustedHosts -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\tools\AutoUpdate\Auto.bat`" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode"} #执行的命令

使用PowerShell远程连接WinServer的更多相关文章

  1. Powershell 远程连接ARM Windows Server VM 并关闭 Firewall

    准备环境:Azure ARM Windows Server 2008 R2 机器 1.登陆机器查看防火墙,是开着的 2.查看机器的监听端口,发现没有Powershell远程管理对应的端口5985或59 ...

  2. powershell远程连接

    最近因为工作的需要看了看powershell相关的知识,个人总结了一点有关于powershell远程连接需要做的步骤,希望对别人有所帮助. 使用powershell远程连接,需要进行 设备的配置: 1 ...

  3. 使用 Powershell 远程连接 windows server

    使用 Powershell 远程连接 windows server Intro 最近我们的开发环境增加了一个 windows 服务器,没有界面的,不能直接远程桌面连上去管理,需要使用 Powershe ...

  4. PowerShell远程连接主机进行会话

    Get-ExecutionPolicy #脚本的执行策略set-ExecutionPolicy 枚举值 不同的策略,执行脚本的权限不同 允许开启远程 Enable-PSRemoting 添加域账户或者 ...

  5. 赖法,强制启动,https版的winrm ---powershell远程连接(winrm)的4个安全级别,详解

    ---------[winrm的“四级”安全]--------- 四级安全,就是最不安全的. winrm默认使用http+5985端口,密码传输加密,数据.命令传输明文.有被人窃取机密,和插入攻击命令 ...

  6. 项目总结14:Windows远程连接redis(cmd指令或PowerShell指令)

    1-确认远程的redis服务器是否允许被远程连接,已redis server安装在阿里云ECS上为例 1-1-确认在阿里云控制台,开放了端口6379和允许访问的IP 1-2-确认在服务器上安装redi ...

  7. Powershell远程在Azure A7虚拟机执行Java JVM失败

    近期.使用Powershell脚本在A7 (8核,56G内存)配置的 Azure VM(Virtual Machine.虚拟机)上远程运行Java JVM时 (java.exe -version).总 ...

  8. Windowsclient SSH 远程连接Windowsserver(PowerShell Server)

    近期刚搞完SSH框架.又来研究研究SSH远程连接.为什么这么要弄这个呢?由于如今我如今开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我 ...

  9. PowerShell 如何 远程连接【转】

    转自: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://bobzy.blog.51cto.com/2109336/1181249 ...

随机推荐

  1. 简单了解 TCP TCP/IP HTTP HTTPS

    一. 什么是TCP连接的三次握手 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+ ...

  2. 13 Zabbix4.4.1系统告警“More than 75% used in the configuration cache”

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 13 Zabbix4.4.1系统告警“More than 75% used in the conf ...

  3. kotlin面向对象之抽象类、继承、多态

    继承: 比较简单,直接看如何使用,这里以父亲与儿子的关系为例: 接着定义儿子并且继承父亲,如下: 是用":"号来继承的,但是此时报错了,看下错误提示: 在kotlin的类并非是人人 ...

  4. docker 创建容器时指定容器ip

    Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定. 在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的. 我们可以创建自己的bri ...

  5. spring data mongo API learn(转)

    显示操作mongo的语句,log4j里面加入: log4j.logger.org.springframework.data.mongodb.core=DEBUG, mongodb log4j.appe ...

  6. .net中[Serializable]序列化的应用

    原文链接:https://blog.csdn.net/wanlong360599336/article/details/9222459 浅析.NET中的Serialization 摘要 本文简要介绍了 ...

  7. MySql触发器简介

    MySQL 数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被 My ...

  8. js面试之--判断一个对象是不是数组类型,一共几种方法???

  9. 工作中常用的Linux命令:crontab命令,定时任务执行命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6060252.html (转载请注明出处) crontab是一个用来设置.删除或显示供守护进程cron执行的定时 ...

  10. C# 文件排序

    一.C#文件排序 1.按名称顺序排列 /// <summary> /// C#按文件名排序(顺序) /// </summary> /// <param name=&quo ...