PowerShell 如何 远程连接【转】
转自: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bobzy.blog.51cto.com/2109336/1181249
PowerShell是微软开发的一个Shell工具,你可以向Linux Unix一样采用命令的方式去控制windows ,Win7之后的版本都带有这个功能。
不过我刚开始使用PowerShell就遇到一个问题。我如何进行远程连接?如果只能在本届执行岂不是和CMD没有区别。
查看了不少文档以后发现,其实需要配置一下就好了。
说一下环境。
服务端:Windows Server 2008 R2 标准版 加入AD , abc.com域
客户端:Win 7 SP1 64位 工作组模式
具体方法:
1.在服务器上 用管理员权限 执行 Enable-PSRemoting 命令
之后会有一堆的确认操作 全部YES就好了
2 在客户端上 执行 Enter-PSSession IP地址 -Credential 域名\用户名
例如:Enter-PSSession 192.168.3.1 -Credential abc\administrator
注意:网上好多教程 都是说这样就可以了,但是实际会提示一个错误:
Enter-PSSession : 连接到远程服务器失败,错误消息如下: WinRM 客户端无法处理该请求。如果身份验证方案与 Kerberos 不同,或
者客户端计算机未加入到域中, 则必须使用 HTTPS 传输或者必须将目标计算机添加到 TrustedHosts 配置设置。 使用 winrm.cmd 配
置 TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。 通过运行以下命令可获得有关此内容的更多信息: wi
nrm help config。 有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
所在位置 行:1 字符: 16
+ Enter-PSSession <<<< 192.168.3.1 -Credential abc\administrator
+ CategoryInfo : InvalidArgument: (192.168.3.1:String) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : CreateRemoteRunspaceFailed
网上一般都是说要添加一个TrustedHosts表,相当于一个信任列表。
执行如下命令,将IP为192.168.3.*的主机都加入信任列表
Set-Item wsman:\localhost\Client\TrustedHosts -value 192.168.3.*
注意这个命令需要在 客户端上执行 不是在服务端执行 且客户端需要已管理员权限执行,这一点许多教程没有说,走了不少弯路。
之后再用 Enter-PSSession 192.168.3.1 -Credential abc\administrator 命令就可以完成连接了。
/************************************************ edit 2014-1-26*******************************************/
from:http://blog.csdn.net/tonyhuang_google_com/article/details/10428921
我们采用one-by-one方式:
2.1 在每个节点依次执行单节点时候的步骤直到使能远程脚本功能那一步:
确保 Administrator用户有密码保护
.以Administrator权限运行 Windows PowerShell((用用户名为Administrator的本地管理员登陆), 在PowerShell中依次执行下列命令:
[cpp] view plaincopyprint?
- Set-ExecutionPolicy "Unrestricted" (无需数字签名就可运行脚本,比较危险;如果觉得不安全可以改为 "RemoteSigned",即对远程脚本的执行需要数字签名)
- Enable-PSRemoting
- Set-item wsman:localhost\client\trustedhosts -value "s1,s2"
- winrm quickconfig
- winrm set winrm/config/client '@{TrustedHosts="s1,s2"}'
Set-ExecutionPolicy "Unrestricted" (无需数字签名就可运行脚本,比较危险;如果觉得不安全可以改为 "RemoteSigned",即对远程脚本的执行需要数字签名)
Enable-PSRemoting
Set-item wsman:localhost\client\trustedhosts -value "s1,s2"
winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="s1,s2"}'
然后切回到当前用户
如果要验证远程脚本和命令是否有效,可以管理员权限运行powershell, 执行 Invoke-Command -ComputerName 远程机器名 -ScriptBlock { hostname },如果正确显示远程机器名(hostname)则说明远程脚本和命令起效。比如在s1中执行 Invoke-Command -ComputerName s2 -ScriptBlock { hostname },能正确显示s2.
需要在每个节点上验证是否能连到本机和其它远程机器。
// 如:
Invoke-Command -ComputerName hdp10 -ScriptBlock { hostname }
Invoke-Command -ComputerName hdp11 -ScriptBlock { hostname }
Invoke-Command -ComputerName hdp12 -ScriptBlock { hostname }
Invoke-Command -ComputerName hdp13 -ScriptBlock { hostname }
Invoke-Command -ComputerName hdp14 -ScriptBlock { hostname }
Invoke-Command -ComputerName hdp15 -ScriptBlock { hostname }
PowerShell 如何 远程连接【转】的更多相关文章
- Powershell 远程连接ARM Windows Server VM 并关闭 Firewall
准备环境:Azure ARM Windows Server 2008 R2 机器 1.登陆机器查看防火墙,是开着的 2.查看机器的监听端口,发现没有Powershell远程管理对应的端口5985或59 ...
- Windowsclient SSH 远程连接Windowsserver(PowerShell Server)
近期刚搞完SSH框架.又来研究研究SSH远程连接.为什么这么要弄这个呢?由于如今我如今开发主要在自己的笔记本(windows)上,然后写的后端都要部署到实验室的台式机(windows)上,这样一来,我 ...
- 项目总结14:Windows远程连接redis(cmd指令或PowerShell指令)
1-确认远程的redis服务器是否允许被远程连接,已redis server安装在阿里云ECS上为例 1-1-确认在阿里云控制台,开放了端口6379和允许访问的IP 1-2-确认在服务器上安装redi ...
- powershell远程连接
最近因为工作的需要看了看powershell相关的知识,个人总结了一点有关于powershell远程连接需要做的步骤,希望对别人有所帮助. 使用powershell远程连接,需要进行 设备的配置: 1 ...
- 使用 Powershell 远程连接 windows server
使用 Powershell 远程连接 windows server Intro 最近我们的开发环境增加了一个 windows 服务器,没有界面的,不能直接远程桌面连上去管理,需要使用 Powershe ...
- 使用PowerShell远程连接WinServer
最近做一个项目后台,涉及到多台服务器,当程序更新的时候,由于用的是WinServer,无法像Linux使用SSH批量更新,用Windows的mstsc的远程一个一个连接又太麻烦了.查找了一下资料,发现 ...
- MongoDB在windows服务器安装部署及远程连接MongoDB
(.\是表示在服务器的windows powershell下需要 表示信任此命令才会执行不然会报错,自己电脑上使用时可去掉.\) 在本地使用都不需要开启权限而在服务器上需要开启安全模式所以需要在原本的 ...
- 利用powershell进行远程服务器管理(命令行模式)
Pssession,Pssession是Windows Powershell会话的意思,一个会话,可以共享数据,提供交互式的对话,我们可以为某些命令例如Invoke-Command 制定会话来远程作业 ...
- Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器
作者:陈计节 个人博客:https://blog.jijiechen.com/post/powershell-remoting/ 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Se ...
随机推荐
- Cause: java.sql.SQLException: 无效的列索引
今天调试代码发现“Cause: java.sql.SQLException: 无效的列索引”,查资料得出结论如下: 1.sql串的?号用''括了起来. 例如:select* from user t ...
- C语言之随机数和字符串输入输出
一.随机数产生函数 1.需要加入头文件 #include<stdlib.h> 和 #include<time.h> 2.Rand是伪随机数产生器,每次调用rand产生的随机数是 ...
- 当一个SQL语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序
当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序 1.执行where xx对全表数据做筛选,返回第1个结果集. 2.针对第1个结果集使用g ...
- 框架面试题:谈谈我对Spring IOC与DI的理解
IOC是一种叫做“控制反转”的设计思想. 1.较浅的层次——从名字上解析 “控制”就是指对 对象的创建.维护.销毁等生命周期的控制,这个过程一般是由我们的程序去主动控制的,如使用new关键字去创建一个 ...
- jQuery--修改表单数据并提交
目的: 点击'编辑',弹出对话框,修改数据. 主要知识点: prevAll(),获取同级别本元素前面的所有元素. 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- Luogu 1580 [NOIP2016] 换教室
先用Floyed做亮点之间的最短路,设计dp,记dp[i][j][0]为到第i节课,换了j次课,当前有没有换课达到的期望耗费体力最小值 方程(太长了还是看代码吧):dp[i][j][0]<-dp ...
- 【原创】ListView快速滚动至新添加一行(自动滚动)
在C#开发中我们经常要开发一些日志系统,尤其是基于ListView的日志显示系统.但是当日志增多是你是否有一些困扰,就是它为什么不会自动滚动至最后一行. 以下是一小段代码,希望可以帮助你. publi ...
- OVS的初始配置
1.去掉bridge模块,为下面用OVS的模块奠定基础 rmmod bridge .insmod datapath/linux/openvswitch_mod.ko .insmod datapath/ ...
- 特殊的HttpApplication事件处理
在global.asax中,针对HttpApplication的事件处理,可以通过定义特殊命名的方法来实现.首先,这些方法必须符合System.EventHandler,因为所有的HttpApplic ...
- 全排列——DFS实现
原创 之间就写过一篇全排列的博客:https://www.cnblogs.com/chiweiming/p/8727164.html 详细介绍请回看,用的方法(暂且就叫)是“交换法”,其实思路就是DF ...