Powershell 远程管理 (一)
忙里偷闲挤出点时间写写PS在Windows不错的管理方式。Powershell 2.0以后可以说是有了质的变化,Modules的加入、ISE、WinRM远程管理的支持,今天主要讲一系列PowerShell在企业级应用的远程管理,其实也是我这次在部署一个应急方案使用的一些脚本和方案的集合吧。(我这里是 域环境,读者可以自己搭建测试)
首先,我们需要安装Powershell 2.0和WinRM 2.0,这个是作为WindowsUpdate附加补丁得,可以通过可选补丁进行安装
选中,直接安装就好了,如果要给所有的服务器安装这个补丁,那么可以考虑用AD环境下的WSUS来安装这个补丁(关于WSUS的配置我会在以后讲述Win2k8 WSUS的文章下详细说明)。
Powershell好处之一就是文档很详细,我们不清楚要多使用Get-Help来查看帮助,可以先查阅一些关于远程的相关资料:Get-Help about_remote*,我在使用Powershell 1.0的使用做远程是相当的痛苦的,每次都要使用WMI的Win32_Process来创建远程进程,2.0提供了交互式的Session 以及比较好用的Invoke-Command ,同时对其他的命令提供了-ComputerName的参数,管理起来更加方便。
先说下使用WMI方式做远程调用吧,首先确认目标机器(需要管理的机器)的远程管理(Remote Administration)的防火墙是开启Inbound 允许您的IP传入的。
打开Windows高级防火墙 –> 传入规则(InboundRules) ->远程管理(Remote Administration)->双击打开对话框
选中 Advanced 选择自己的作用域 我这里选择的All,以及在Scope下找到远程IP地址(Remote IP) 加入 Localsubset 本地子网 然后保存 启用规则 如图:
这样一下,我们就允许本地子网对 这台机器的 访问远程管理端口了(当然你可以根据自己,只给定一个IP访问目标机器的远程管理端口防火墙)。
如果是域环境,要开启这个策略,我们可以建立一个GPO,在
编辑GPO对象的策略->计算机配置->管理模版->网络->网络连接->防火墙->域->Windows Firewall:Allow Inbound remo