Powershell小技巧--远程对比服务配置
假如你的PS远程运行在两台服务器上,这里有一个简单的脚本教你怎么从每台服务器上得到所有的服务状态并计算他们之间的差别。
$Server1 = 'myServer1'
$Server2 = 'someOtherServer'
$services1 = Invoke-Command { Get-Service } -ComputerName $Server1 |
Sort-Object -Property Name, Status
$services2 = Invoke-Command { Get-Service } -ComputerName $Server2 |
Sort-Object -Property Name, Status
Compare-Object -ReferenceObject $services1 -DifferenceObject $services2 -Property Name, Status -PassThru |
Sort-Object -Property Name
结果将会输出服务配置的不同之处。
支持PS3.0及以后版本
相关推荐
-
PowerShell远程安装MSI安装包、EXE可执行程序的方法
尽管对IT管理员或者开发者来讲,这是一个很常见的任务,但是在网上能找到"远程安装一个msi包或者exe应用程序"的相关文档还是比较少的.甚至有人在一些论坛的评论中写道,这不可能实现.事实上还是可以的.我会在本文提供两段代码,分别负责远程安装MSI包和EXE可执行应用程序. 一.安装MSI包 使用PowerShell调用WMI对象,你可以执行下面的脚本来安装你的MSI安装包: 复制代码 代码如下: $box="deviis01" #this is the name o
-
使用HTTP api简单的远程执行PowerShell脚本
可能有些情况下,你不想完全体验通过PSRP(PowerShell远程处理协议)远程管理,或有需要从非Windows系统上执行一些PowerShell脚本.你可能会像我很久之前在这篇文章中写的那样直接基于WS-Man来写代码.但是那样很复杂,并且需要WS-Man和SOAP的一些知识. 我在PowerShell脚本中使用.Net HttpListener类写了个HTTP监听器.你可以非常简单地启动一个监听器的实例(需要提升权限监听网络),现在你可以执行任意的PowerShell命令了,它还可以返回多
-
PowerShell小技巧之启动远程桌面连接
以Windows Server 2012 R2为例,其实非常简单.先启用远程连接: (gwmi -class win32_terminalservicesetting -namespace "root\cimv2\terminalservices").setallowtsconnections(1) 然后再启用几条防火墙规则即可,用PowerShell(需要管理员权限)更显其威武: PS> Get-NetFirewallRule -Name RemoteDesktop* | se
-
Powershell小技巧之非相同域或信任域也能远程
默认通过Enable-PSRemoting打开PS远程,启动了Kerberos认证.这个方法只适合两台电脑在相同域或信任域内的指定电脑(名字可以带后缀).但它不支持跨域.域外或IP地址. 要让它能正常工作,你需要改变计算机的远程方式.请用管理员权限执行下面命令: 复制代码 代码如下: PS> Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force 如果这个路径非法,你可能首先需要在电脑上打开PS远程(使用"Enable-P
-
PowerShell入门教程之远程操作运行PowerShell的方法
PowerShell远程操作是远程管理的基础,它为集中管理分布式系统提供了又一种可靠.高效的方法. 一般来说PowerShell远程操作依赖于远程处理基础结构,但为数不多的几个自身具有远程处理能力的命令除外,如Get-Service.Get-Process.Get-WMIObject.Get-EventLog和Get-WinEvent等.(不难看出,这些命令都是"读取"系统的某些方面的信息,不做更改.它们依赖.Net Framework完成远程操作.) 配置远程基础结构 远程基础结构是
-
PowerShell小技巧之添加远程防火墙规则
接着昨天的场景,虽然将Windows Server 2012 Core的默认控制台设置成了PowerShell,还启用了远程桌面,但是对于Core版本的服务器来讲,远程桌面形同鸡肋,所以我想启用PowerShell远程访问,在服务器上以管理员权限运行: Enable-PSRemoting -Force 在尝试建立远程连接时,提示访问被拒绝,此时可能是防火墙问题:我需要使用PowerShell添加PowerShell远程防火墙规则: New-NetFirewallRule -Name powers
-
Powershell小技巧之开启关闭远程连接
如果你要通过Powershell远程访问电脑.这时你必须在对方电脑(你想要访问的电脑),用管理员权限执行下面代码: 复制代码 代码如下: PS> Enable-PSRemoting -SkipNetworkProfileCheck -Force 一旦你这样执行了代码,你只要拥有目标电脑的本地管理员权限就能从其它窗体访问这台电脑了.当两台电脑在同一个域内你就可以直接指定计算机名而不需要它的IP的地址. 启动交互方式: 复制代码 代码如下: PS> Enter-PSSession -Compute
-
Powershell小技巧--远程对比服务配置
假如你的PS远程运行在两台服务器上,这里有一个简单的脚本教你怎么从每台服务器上得到所有的服务状态并计算他们之间的差别. 复制代码 代码如下: $Server1 = 'myServer1' $Server2 = 'someOtherServer' $services1 = Invoke-Command { Get-Service } -ComputerName $Server1 | Sort-Object -Property Name, Status $services2 = Invo
-
Powershell小技巧之保存服务信息
如果你需要保存一个PS命令结果到磁盘能将它移动到其它电脑上,这里有一个简单的方法: 复制代码 代码如下: $Path = "$env:temp\mylist.xml" Get-Service | Add-Member -MemberType NoteProperty -Name ComputerName -Value $env:COMPUTERNAME -PassThru | Export-Clixml -Depth 1 -Path $Path explorer.exe
-
Windows Server 2016远程桌面服务配置和授权激活(2个用户)
Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行远程桌面连接时,系统就会提示超过连接数,可以通过添加远程桌面授权解决: 1.添加远程桌面授权服务 第一步:服务器管理 - 添加角色和功能打开添加角色和功能向导窗口,选择基于角色或给予功能安装: 第二步:添加远程桌面会话主机和远程桌面授权功能: 以上配置完成后即可使用多于2用户同时登陆,但使用期限为120天,再次登陆会有如下提示: 2.添加远程桌面授权许可 添加之前将时间调至未来的一个时间,用来增加使用期限 打开远程桌面授权管
-
Powershell小技巧之使用WS-Man来调用PowerShell命令
虽然PowerShell远程管理被构建在 WS-Management的之上,但它是协议中的协议.如果尝试使用 PSRP (PowerShell远程处理协议)直接进行交互,本质上需要在客户端机器上运行一个PowerShell副本.另一种方法是使用一个鲜为人知的远程命令行工具,称为WinRS.WinRS是一个简单的工具,允许远程CMD.EXE,它也是构建在WS-Management之上的.所不同的是WinRS重用了 WS-Transfer中的Create和Delete,并引入了一些新的自定义的SOA
-
PowerShell小技巧之执行SOAP请求
SOAP的请求在Web Service是无处不在的,像WCF服务和传统ASMX asp.net的web Service.如果要测试SOAP服务是否好用通过web编程来实现就显得太过于复杂了,下面的脚本片段(snippet)将会轻而易举的完成通过powershell测试和调用SOAP服务: 这是一段程序代码. 复制代码 代码如下: function Execute-SOAPRequest ( [Xml] $SOAPRequest, [String] $URL
-
PowerShell小技巧之配置机器的静态IP
家用电脑安装了一台虚拟机,默认没有配置网络,本来是想利用PowerShell启用无线网络,可是安装过程需要在线获取一些文件,所以失败,无奈只能配置静态IP地址了,参考了Ed Wilson的:Use PowerShell to Configure Static IP and DNS Settings $wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'" $wmi.Enable
随机推荐
- C# 使用Free Spire.Presentation 实现对PPT插入、编辑、删除表格
- 详解Docker使用Linux iptables 和 Interfaces管理容器网络
- 国内学院派专家对DB2 9新产品赞不绝口
- 读jQuery之八 包装事件对象
- 微软将在HEC上发布Windows 2003 64-bit
- java基本教程之线程休眠 java多线程教程
- 简单讲解iOS应用开发中的MD5加密的相关使用
- 让多个输入框中的内容同时变化的js代码
- JS添加或修改控件的样式(Class)实现方法
- shell脚本实现多进程运行的方法示例
- javascript用DIV模拟弹出窗口_窗体滚动跟随
- js快速排序的实现代码
- 如何解决局域网中网络邻居访问响应慢
- 注入过程中遇到DB_OWNER的想法(图)
- 浅谈hibernate中对象的3种状态_瞬时态、持久态、脱管态
- Android 中对JSON数据解析实例代码
- Java使用异或运算实现简单的加密解密算法实例代码
- Java并发之BlockingQueue的使用
- python中将两组数据放在一起按照某一固定顺序shuffle的实例
- 使用nginx模拟进行金丝雀发布的方式