简介

在一定程度上讲powershell 远程管理类似域Telent或者其他一些老旧的远程处理技术,它会在远程计算机上面执行相关命令,并将结果返回本地计算机,powershell远程管理使用的是针对管理的Web服务(Web Services forManagement,WS-MAN)。WS-MAN是完全基于http或者https进行工作的,是一种对防火墙友好的协议(应该也就是好配置的意思)。

微软对WS-MAN的实现主要基于一个后台服务:Windows远程管理组件(WinRM)。在安装PowerShell(第2版)的时候会同时安装WinRM,在服务器版操作系统(比如Windows Server 2008 R2)中默认开启该服务。Windows 7操作系统默认安装该服务,但该服务处于禁用状态。通常来说,在服务器操作系统处于启用状态,在客户端操作系统处于禁用状态。

在使用powershell 远程管理之前,WinRM服务需要提前进行配置,并非只有powershell能使用WInRM服务,实际上,微软在原来越多的管理程序中开始使用WinRM服务。WinRM相当于一个调度器,当有流量进来后,WinRM会绝顶由那种程序来处理这部分流量。在你的系统中可以有几十个甚至上百个WinRM端点,每一个端点都指向一种应用程序,甚至你可以将多个端点指向同一个应用程序,但是每个端点提供不同的权限以及功能。。例如,你可以在环境中创建一个PowerShell端点,该端点仅允许特定用户运行一个或者两个命令。

WinrM配置

可以使用一下命令对WinRM进行快速配置

WinRM queckconfig  //cmd
Enable-PSRemoting   //powershell

如果报错的话,很可能就是因为网卡的网络环境是公网网络,公网网络是无法设置防火墙例外的,这是在客户端电脑上容易出现的问题,服务器版本的操作系统没有这个限制。

WinRM服务默认监听5985(http端口),可以通过以下命令来查看WinRM的监听情况

winrm enumerate winrm/config/listener

powershell远程管理

一对一管理

PowerShell可以通过两种方法实现远程处理,第一种称为一对一或者1:1远程处理,第二种称为一对多,或者1 : n
远程处理,在下一节中会讲到一对多场景。一对一的情况下会使用到Enter-PSSession和Exit-PSSession两个命令,一个用来创建会话,另一个用来结输会话(直接叉掉也没啥问题)。
创建一对一的远程处理进程可以使用以下命令

Enter-PSSession –ComputerName Server-R2  //域环境
Enter-PSSession -ComputerName 192.168.220.160 -Credential administrator //工作组环境

第一种直接使用kerberos去验证身份了,所以不用输入密码了。同是在《Windows PowerShell 实战指南(第3版)》,这本书中指出WinRM默认不允许使用IP地址或者DNS中的别名去进行远程处理,近支持远程计算机的真实名称,但是我在工作组环境中并未受到响应的影响,而且执行成功了,不知道域环境下是否会受到限制。

但是响应的也遇到了点问题

可以通过,以下命令添加本地信任主机,*代表信任所有。
同时需要注意,powershell远程管理,并不受AllowUnencrypted设置值的影响。

WinRm set WinRM/config/Client @{TrustedHosts = *}

还可以在Server-R2主机上继续执行远程管理的命令,实现二连跳,但是并不建议这么做,主要原因是系统开销和管理问题。

一对多远程管理

一对多远程管理肯定是主要适用于域环境了,主要是因为验证的问题,是要使用的命令是
Invoke-Command,

命令格式

Invoke-Command –ComputerName Server-R2,Server-DC4,Server12 –Command {Get-EventLog Security –Newest 200 | Where {$_.EventID –eq 1212 }}

也就是将一个命令同时传递给多台远程计算机。也可称之为全面的分布式计算。每台计算机都独立运行发送的命令,然后将结果集返回给你。

另外,在Invoke-Command的帮助信息中找不到-Command参数,但是我们确认上面示例中的命令可以正常运行。实际上,-Command参数是帮助文档中-ScriptBlock参数(可以在Invoke-Command帮助文档中找到该参数的信息)的一个别名或者昵称。由于-Command命令更容易记住,所以我们往往使用-Command,而不会使用-ScriptCommand。

注:在学习过程中,虽然就是几条命令的事,但是书中的一些描述也引发了我的一些思考,对于Kerberos认证、令牌以及域安全的思考。希望大家有时间可以读一下原书,可能会得到一些意想不到的启发也说不定

参考

《Windows PowerShell 实战指南(第3版)》

powershell远程管理相关推荐

  1. PowerShell远程管理Windows Server(2):公网访问【web形式】

    *此文章只适合于windows server 2012版本以上: Powershell Web Access需要两个步骤才能使用: 一.安装powershell web access功能: 二.配置p ...

  2. Powershell远程管理服务器客户端

    目录 域中计算机远程管理 1.管理员权限运行Powershell,输入Enable-PsRemoting开启Powershell远程管理 2.S12-1Powershell远程管理S12-2

  3. PowerShell 远程管理之启用和执行命令

    PowerShell 2.0的远程管理功能很强大,为了方便读者学习这里首先介绍学习环境的设置,便于读者在理解原理的同时有相对形象的体验.在本文中,将会分别介绍了如何启用和禁用powershell的远程 ...

  4. PowerShell:远程管理中的多跳问题之CredSSP详解

    前言 在我的博客PowerShell: 远程管理除了知道Invoke-Command,还应该掌握Enter-PSSession这个命令_码农杰克-CSDN博客 种曾经提到执行使用PowerShell执 ...

  5. 使用Powershell远程管理Windows Server(WinRM)

    在Linux中,我们可以使用安全的SSH方便的进行远程管理.但在Windows下,除了不安全的Telnet以外,从Windows Server 2008开始提供了另外一种命令行原创管理方式,那就是基于 ...

  6. Windows域控管理—如何使用powershell远程连接服务器

    管理员权限运行Powershell, 输入Enable-PsRemoting开启Powershell远程管理, 远程端和被远程端都需要启用,另外说明一下, WinRM也就是Powershell远程管理 ...

  7. Windows远程管理WinRM,Enter-PSSession

    Windows远程管理WinRM,Enter-PSSession 前置条件 启用PowerShell远程管理: 1)在本地计算机(需要管理远程计算机的计算机)上运行Set-item wsman:loc ...

  8. power shell远程_Powershell 远程管理 (一)

    Powershell 远程管理 (一) 忙里偷闲挤出点时间写写PS在Windows不错的管理方式.Powershell 2.0以后可以说是有了质的变化,Modules的加入.ISE.WinRM远程管理 ...

  9. PowerShell 2.0远程管理之隐式远程管理

    在前面的文章里关于持久远程线程的讨论中,曾经介绍了如何在本地主机上进入远程线程并执行命令.如果没有显式的终止线程的情况下,用户能在本地计算机上执行远程主机的命令,而PowerShell的提示符能够直接 ...

最新文章

  1. 艾伟_转载:string类与StringBuilder类性能比较
  2. 谈谈关于个人提升的一些思考
  3. “有三AI百人”专栏作者培养计划启动,爱写作的你还等什么呢?
  4. gradle入门_Gradle入门:集成测试
  5. 洛谷 U10783 名字被和谐了
  6. 2018年度人工智能优化商业运作的10大途径
  7. 【已解决】iView-admin Editor 组件 绑定默认值问题
  8. JAVA 集合Null 初始化_springboot使用mybatis-plus表单更新null值问题通用解决方案
  9. 最佳10大开源项目管理系统
  10. Java 打印某年某月的月日历
  11. 浅谈撰写软文标题时需要规避的误区
  12. 软件测试 | 测试方案怎么写
  13. 猿辅导python资源_2020猿辅导(小猿搜题)高中辅导全资源合集百度网盘下载
  14. HBase数据结构与基本语法详解
  15. 京东面试详解(渣渣吐血整理版)
  16. 在线副业教程之 01 如何通过编码赚钱的 6 种方法
  17. 《宝塔面板教程6》:如何修改用户名和密码
  18. Golang开发的CMS内容发布系统
  19. C语言计算三角形面积参考代码
  20. 月入3k和月入3w的女生有什么区别?

热门文章

  1. android 课程表论文,毕业设计(论文)-基于Android的课程表管理的设计与实现.doc...
  2. Vue CLI 浏览器兼容性
  3. 最优化算法——遗传算法解析
  4. 高速PCB Layout设计要用哪些工具?
  5. .replaceAll is not a function nodejs14不可用 replaceAll
  6. Transformer中的注意力机制
  7. 服务器磁盘管理系统在哪里,服务器主机的硬盘在哪里
  8. 用mediawiki搭建个人的本地知识管理系统
  9. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  10. 【从零开始分析项目实战】12-阿里云手机验证码登录功能的实现