设为首页 收藏本站
查看: 1407|回复: 0

Powershell进阶学习(4) Powershell强大的利器“管道”

[复制链接]

尚未签到

发表于 2018-9-3 06:37:14 | 显示全部楼层 |阅读模式
  管道有一个很好的比喻”棒球手”,它其实就是将信息从一端投递到另一端接收。
  一 先举几个例子说明吧:
  1利用管道停止zabbix服务(可以看到我这里也用了通配符,但这不是一个好的习惯,除非你确认匹配的就是你要的服务。所以在做管道之前首先要需要确认一下通配符匹配的信息,否则可能酿成不好的后果)
DSC0000.png

  2 将获取的服务导出到一个CSV文件。
DSC0001.png

  3 将获取的服务导出到一个XML文件。
DSC0002.png

  4当然也可以导入
DSC0003.png

  导入的功能我在以前写过好多现实管理当中的例子:
  http://lixiaosong.blog.51cto.com/705126/1341710
  二 通过以上的举例大家已经对管道有了一个初步的了解。但大家是不是始终有一个疑问,管道到底为我们传递了什么东西。好接下来就是一个NB的东东了 get-member。
  1接着举例还是get-services,可以看到他得属性和传递的参数:
DSC0004.png

  2 这些参数有什么用呢。我们看一眼:
DSC0005.png

DSC0006.png

  3 说以上这些只是为了下面这种情况。我知道了以上的功能,兴致勃勃的想通过管道获取域内所有计算机的bios信息。
DSC0007.png

  但是却返回了一堆错误信息,这太郁闷了:
DSC0008.png

  这是什么原因导致的呢。哼哼这点很重要打起精神来。
  首先我们通过看一眼管道符左面命令的属性,可以看到是ADComputer。
DSC0009.png

  其次我们通过get-help看一眼管道符右面命令的byvalue属性(这个属性显示是否接收参数)。却没有搜到关于ADComputer信息。
DSC00010.png

  然后回头看一眼成功的get-service的命令,先看一眼get-memer属性
DSC00011.png

  然后再看一眼stop-service的详细帮助信息。发现了关于“servicecontroller”byvalue信息。
DSC00012.png

DSC00013.png

  这下我们知道了 ,管道能否成功需要有一个前提。管道符左边的属性必须符合右边命令的接收参数。
  太郁闷了!!!难道我们就不能实现我们上边的想法了么?当然不是。我们仔细研究一下:
  首先在看一眼get-wmiobject的帮助信息(看!!!get-help又派上了用场)他居然支持-computername参数,然后接字符串!
DSC00014.png

  其次再看一眼get-adcomputer这个命令,可以看到能够做为上面“-computername”参数的只有Name属性。
DSC00015.png

  好那我们怎么能将Name属性提取出来呢?有两种方法:
  1使用select
DSC00016.png

  2 使用%{$_.加参数}方法(这种方法在以前的博客里也有参考)
DSC00017.png

  3 确定一些获取到的这些是否为字符串。哈哈有戏!!!
DSC00018.png

  4 让我们应用它吧!好了成功了爽!!!
DSC00019.png

  Powershell的管道功能就介绍到这里了!!!
  接下来就是关于Session和大规模自动化介绍了很期待吧哈哈哈!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-561736-1-1.html 上篇帖子: Powershell进阶学习(1) 浅谈Powershell学习方法 下篇帖子: powershell修改注册表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表