简介

在一定程度上讲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. linux的 计划任务机制,自己带节奏
  2. 做项目的一点收获之二
  3. svm 交叉验证 python_【python机器学习笔记】SVM实例:有毒蘑菇预测
  4. NYOJ练习题 又见Alice and Bob
  5. python dtype什么意思_DataFrame中的字符串,但dtype是对象
  6. java拾遗录(一)
  7. java双等号和equals_JAVA编程基础篇:hashCode的特性和作用
  8. object-c 运行时显示view没有设置outlet的错误
  9. Mysql中各种与字符编码集(character_set)有关的变量含义
  10. 对分查找的最多次数_「剑指offer题解」数组中出现次数超过一半的数字
  11. SharePoint里如何设置People picker值为当前登录用户值
  12. 2022年企业微信生态研究报告
  13. 【C语言】将两个字符串连接起来
  14. springboot的Interceptor、Filter、Listener及注册
  15. 等待其他线程执行完后执行(CountDownLatch)
  16. 小红帽linux各功能中英,英文短剧lbrack;小红帽rsqb;剧本台词完整版---中英对照文本版...
  17. 全网首发:OpenJDK如何支持字体的kerning及BUG号
  18. python优惠券机器人_python实现机器人卡牌
  19. Linux TC 带宽管理队列规则
  20. 60 个 Python 小例子

热门文章

  1. Cygwin编程环境
  2. ​新实践 再行动——2023粤港澳大湾区城市更新发展报告(附下载)
  3. 【破解作品】成功破解“FORMGHOST 网络填表终结者”,练手不错~~
  4. OpenCV cv::TermCriteria 模板类
  5. nfs-ganesha(用户态NFS)编译、安装和使用
  6. 【Tips】【UE】总结自己常用的UltraEdit使用技巧
  7. 泡泡玛特要用“故事”撑起自己的新故事
  8. iOS10新特性之SiriKit
  9. 比较爽的导航查询 功能 .NET ORM / SqlSugar
  10. 华为跟比亚迪对上了眼