shell管道,Power Shell 学习笔记(四)对象管道

对象管道是ps的一个很方便的功能,使用对象的一个主要优点是,它使得用管道传输命令(即,将一个命令的输出作为输入传递到另一命令)容易得多。通信通常需要字符串操作,以便将输出从一种格式转换为另一种格式,并删除标题和列标题。当然我最喜欢的就是 xxxx|get-member 了,碰到不知道有什么方法能用的时候,这个管道(get-member)可以给你列出所有属性和方法,见名知意的猜一下好了。
Windows PowerShell 提供了一个基于对象而不是基于文本的新交互模型。接收对象的 cmdlet 可以直接作用于其属性和方法,而无需进行转换或操作。用户可以通过名称引用对象的属性和方法,而不是计算数据在输出中的位置。
下面来几个例子
例1:IpConfig 命令获取IPAddress信息。
imageshell管道,Power Shell 学习笔记(四)对象管道
上图是ipconfig的基本用法。
如果我不想要那么多信息,只想要本机IP怎么办呢?这时候可以用Findstr 来处理下。处理思想,首先获取到上面看到的所有信息,然后对每行信息进行Findstr 处理,如果包含“Address”,那么就是我要的内容。具体写法如下:
ipconfig | findstr "Address"
imageimageshell管道,Power Shell 学习笔记(四)对象管道
获取MAC地址呢?
imageimageimageshell管道,Power Shell 学习笔记(四)对象管道
最后给大家介绍下我最喜欢的一个用法 xxxx|get-member
当你拿到一个对象,然而你又不知道这个对象有哪些方法可用,想猜测一下到底能不能获取到什么信息,能不能实现某些功能的时候,xxxx|get-member最有用了。
例如,get-service可以获取到某个service的信息,可是我不知道怎么启动这个service怎么办。面向对象的思想吗~拿到对象再说!肯定很多人都会这样入手。可是当你拿到service对象以后,接下来怎么办?service对象都提供了哪些方法?get-member!如下
1. 获取MSDTC服务信息,通过format-list 方法输出所有属性信息,可以看到Status是Running的。
imageimageimageimageshell管道,Power Shell 学习笔记(四)对象管道
2. 我们想要把它关闭。可是不知道怎么处理,那我我们先来看一下他都提供了我们什么方法。
imageimageimageimageimageshell管道,Power Shell 学习笔记(四)对象管道
可以看到,get-member把所有的成员都给大家列出来了。OK,我们发现他有一个Method,叫做Stop。我想大多数人都能猜到干什么用的吧这个方法。
所以我来试验一下。
imageimageimageimageimageimageshell管道,Power Shell 学习笔记(四)对象管道
我们首先拿到msdtc的service对象,然后调用stop方法(方法,当然要加括号)。
然后输出了新的状态信息,你会发先status变成了stopped。我们成功的关闭了服务。很有用的方法啊。
对象管道当然还有好多用法,也有好多常用方法,不过等到用到再说吧。
Tags:  shell 笔记本power shell管道

延伸阅读

最新评论

发表评论