PowerShell对象的批处理方法
一般我们认为欸的批处理是循环遍历对象,一个一个的进行处理,这种思想在PowerShell也是可用的,同时还有更好的批处理方法,下面介绍几种批处理方法:
1,使用PowerShell Cmdlet进行批处理;
利用管道(Pipeline)将一个Cmdlet产生的结果传输给另一个Cmdlet,PowerShell知道如果处理传入的多个对象;
例如:
PS C:\Users\Administrator> Get-Service -Name BITS,xbgm,Spooler | Set-Service -StartupType Automatic
一次性将三个服务设置为自动启动类型,这中批处理方式是PowerShell最推荐的方式,也是最理想的,但是有时候没有相应的Cmdlet来完成我们想要的操作,就需要另找其他方法了。
2,CIM/WMI方式:调用方法;
CIM:Common Information Model 是WMI建立的标准
WMI:Windows Management Instrumentation WMI是一项外部技术,仅仅是与PowerShell有建立接口而已。
比如可以使用:Get-WmiObject win32_NetworkAdapterConfiguration获取网卡绑定的配置信息;
PS C:\Users\Administrator> Get-WmiObject win32_NetworkAdapterConfiguration | ft -wrapDHCPEnabled IPAddress DefaultIPGateway DNSDomain ServiceName Description
----------- --------- ---------------- --------- ----------- -----------True kdnic Microsoft Kernel Debug Network AdapterTrue {192.168.2.107, fe80::6d3c:d25e:9bd:c0d0} {192.168.2.1} RTWlanE Realtek RTL8188EE Wireless LAN 802.11n PCI-E NICTrue vwifimp Microsoft Wi-Fi Direct Virtual Adapter
使用:
gwmi win32_networkadapterconfiguration | gm -MemberType Method
获取有哪些方法,使用Invoke-WmiMethod 使用该方法,例如开启Intel网卡的DHCP功能:
PS C:\Users\Administrator> gwmi win32_networkadapterconfiguration `
>> -Filter "description like '%intel%'" |
>> Invoke-WmiMethod -Name EnableDHCP
执行结果中包括大量系统对象,我们只要看ReturnValue是否为0,0表示成功。
若使用CIM方式,可对应使用Invoke-CimMethod调用对应的方法:
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration `
>> -Filter "description like '%intel%'" |
>> Invoke-CimMethod -MethodName EnableDHCP
WMI使用RPC网络通信;CIM使用WS-MAN通信。
3,最后的方法:枚举对象
ForEach-Object
例如:获取x开头的服务,将其停止,Get-Service | gm -MemberType Method 获取所有方法;使用Stop方法,
Get-Service -Name x* | ForEach-Object {$_.Stop()}
下面列举其他方法停止X开头的服务:
首选方式-批处理Cmdlet:
Get-Service -Name x* | Stop-Service
WMI方式:
PS C:\Users\Administrator> Get-WmiObject Win32_Service -Filter "Name Like 'x%'" |
>> Invoke-WmiMethod -Name StopService
WMI和ForEach-Object结合的方式:
PS C:\Users\Administrator> Get-WmiObject Win32_Service -Filter "Name Like 'x%'" |
>> ForEach-Object {$_.StopService()}
Cmdlet方式:
PS C:\Users\Administrator> Stop-Service -Name x*
大概就是使用Get-Something | Get-Member 获取对象的方法,使用ForEach-Object枚举对象,调用方法进行批处理;
如果是WMI/CIM方式 也可使用Invoke-WMIMethod/CIMMethod
----End----
PowerShell对象的批处理方法相关推荐
- 从零开始学PowerShell(9)创建PowerShell对象
我们之前有一篇文章写过如何获取对象的信息,但是从没有说过如何创建一个PowerShell对象.正巧也看到很多刚学PowerShell的朋友问起这个问题,今天就来说一说如何创建PowerShell对象. ...
- html中有csstext方法吗,style对象的cssText方法有哪些使用方法
这次给大家带来style对象的cssText方法有哪些使用方法,style对象的cssText方法使用的注意事项有哪些,下面就是实战案例,一起来看一下. cssText 本质是什么? cssText ...
- Spring中利用applicationContext.xml文件实例化对象和调用方法
Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...
- 对象的notify方法的含义和对象锁释放的三种情况
1,notify的含义 (1)notify一次只随机通知一个线程进行唤醒 (2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁, 要等到 ...
- 向现有对象实例添加方法
我读过,可以在Python中向现有对象(即不在类定义中)添加方法. 我了解这样做并不总是一件好事. 但是怎么可能呢? #1楼 至少有两种方法可以将方法附加到没有types.MethodType的实例上 ...
- js进阶课程 12-9 jquery的事件对象event的方法有哪些?
js进阶课程 12-9 jquery的事件对象event的方法有哪些? 一.总结 一句话总结:三组六个,阻止默认事件一组,阻止冒泡一组,阻止冒泡和剩余事件一组. 1.事件的默认动作指什么? 比如点a标 ...
- java 克隆_Java实现对象克隆的方法
前言 这也是昨天的面试题. 当时只说了深拷贝以及浅拷贝,面试官问了两遍还有吗,我很肯定的说就这两种了,面试结束之后查了一下,啪啪打脸. 正文 JAVA实现克隆有两种形式 浅克隆 深克隆 浅克隆与深克隆 ...
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 使用 MetaClass 进行方法拦截 | 对象上拦截方法 | 类上拦截方法 )
文章目录 一.使用 MetaClass 进行方法拦截 1.使用 MetaClass 在单个对象上进行方法拦截 2.使用 MetaClass 在类上进行方法拦截 二.完整代码示例 1.对象方法拦截 2. ...
- 【Groovy】闭包 Closure ( 闭包中调用 Groovy 脚本中的方法 | owner 与 delegate 区别 | 闭包中调用对象中的方法 )
文章目录 一.闭包中调用 Groovy 脚本中的方法 二.owner 与 delegate 区别 三.闭包中调用 Groovy 对象中的方法 一.闭包中调用 Groovy 脚本中的方法 在 Groov ...
最新文章
- linux系统启动报错:[contains a file system with errors, check forced]的解决方法参考
- 只要你懂为啥有人爱砍传奇,就能明白《逃离塔科夫》为何会成功
- iOS 一个开发者账号 多台Mac 共用
- JavaFX UI控件教程(十九)之Hyperlink
- java中this_夯实Java基础系列7:一文读懂Java 代码块和执行顺序
- 一年超20万人次在抖音志愿登记器官捐献
- prometheus监控redis(无metric接口)
- JAVA写接口傻瓜(%)教程(五)
- dbf转成excel_excel怎么转为dbf? Excel与DBF互相转换的教程
- ipv6一致性测试(IPv6 Specification)内核修改
- 英语单词词性顺口溜_英语单词词性顺口溜
- 安卓作业—Fragment界面跳转
- ls基本用法-查看文件大小 k m g
- Codeforces 1379B.Dubious Cyrpto
- 全栈工程师的百宝箱:黑魔法之文档篇
- IELTS Lexical Resources - Writing 3 - Reasoning and discussion
- 解决canvas画布图片跨域问题
- 第一次用gcc命令时报错:gcc: 未找到命令...
- 分享一个可以下载网页上视频软件(IDM 6.33.2)下载器
- https协议能否让网站,优先被百度收录,个人观点
热门文章
- 单片机:数字式时钟—日历
- oracle X表汇总
- 给TextView加边框
- 利用Vue.js实现简单员工管理系统(增删查)的功能
- 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
- 最小的可重现示例Minimal reproducible example
- 美图php面试题目,据说是雅虎的一份PHP面试题附答案
- 网络计算机自动巡检,奇辉巡检机器人 公安巡检机器人 自动巡检报警 安防监控报警...
- linux 僵尸进程deffunc,subprocess.Popen引起的僵尸进程[sh] defunct
- (翻译)在Y分钟学X:OpenCV (OpenCV入门)(中文注释)