CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > WinSystem子站 > 网络管理

使用Windows Powershell来过滤输出项

作者: Christa Anderson,  出处:TechTarget, 责任编辑: 袁绍龙, 
2007-05-16 09:10
  用户使用cmdlet命令同时结合变量来过滤输出项……

  过滤带有变量的内容

  既然已经知道大概如何使用了,那么下面就再两塞选一个命令的结果。正如我们开始的时候讲的那样,我们想要一个get-wmi-list。当输入这个字样的时候,就出现了许许多多的结果,多得让你难以应付。如果想便于处理,我们将WMI作为搜索对象,然后把它保存成一个变量。

  Powershell里的变量都是以dollar($)符号开头的。把一个变量赋值给另外一个变量(我们从简单的赋值开始做起)的做法,就是让其中一个等于另外一个就可以了,如下:

  $myvariable = 123 或者

  $myvariable = "Now is the time for all good men" 或者

  $myvariable = get-date (是使变量myvariable是值是当前的日期),欲查看变量的内容,只要在命令提示行输入它的名字就可以了。

  可能你就会想到,我们可以把get-wmi-list所得到的那个恼人的大结果赋值给一个变量。象这样:

  $wmi = Get-Wmiobject –list

  那好,现在我们已经把长列表放入一个变量里去了,那么再用select-string进行删节。象这样:

  $wmi | select-string -pattern "Win32_"

  这行命令就将返回所有在WMI帮助课程里的带“Win32_”字样的字符串。这将会在windows里缩减许多课程帮助的范围。但是,剩下的还是一个很长的列。怎么能让这个列再缩减一些呢?也许我们想得到的结果是还带有“network”字样的。和刚才所做的一样,再把结果赋值给一个变量。这次,我们的新变量$w32wmi所包含的内容就是我们所要的真正的结果了。既然我们已经得到所需的结果了,那么在这个基础上再做一个新研究:

  $w32wmi | select-string -pattern "Network"

  敲入这行命令后,我们就得到了一些很易于管理的结果了,如下:

  VISIONTHINGROOTcimv2:Win32_TSNetworkAdapterSettingError

  VISIONTHINGROOTcimv2:Win32_NetworkClient

  VISIONTHINGROOTcimv2:Win32_NetworkProtocol

  VISIONTHINGROOTcimv2:Win32_NetworkAdapter

  VISIONTHINGROOTcimv2:Win32_NetworkConnection

  VISIONTHINGROOTcimv2:Win32_PerfRawData_Tcpip_NetworkInterface

  VISIONTHINGROOTcimv2:Win32_PerfFormattedData_Tcpip_NetworkInterface

  VISIONTHINGROOTcimv2:Win32_SystemNetworkConnections

  VISIONTHINGROOTcimv2:Win32_TSNetworkAdapterSetting

  VISIONTHINGROOTcimv2:Win32_TSNetworkAdapterListSetting

  VISIONTHINGROOTcimv2:Win32_NetworkLoginProfile

  VISIONTHINGROOTcimv2:Win32_NetworkAdapterConfiguration

  VISIONTHINGROOTcimv2:Win32_NetworkAdapterSetting

  做完了这个,我能轻松的找出我所要的那个帮助教程来完成我的工作了。(如果不那么确定的话,我还是得一个一个仔细的看,但如果我从拼写形式就能看出哪个是我想要的,那么可以说这个做法起到了最大的作用了。)如果还想扩大我的搜索,在Select-String后再加一个参数,如下:

  $w32wmi | select-string -pattern "Network", "Disk"

  添加的第二个参数,它与第一个参数之间的关系其实是布尔变量中的“OR”的关系,而不是“AND”的关系。这样添加完以后,所返回的结果要么是带“Network”字样的,要么就是带“Disk”字样的,而不是两者都包括的结果才返回。

  总而言之,这篇短文介绍了powershell使用的另外一个重要的功能----在大量结果中找到你所需要的最精确的信息。用Select-String过滤信息其实很简单。把繁杂的数据抛给过滤器,不管它是一个字符串,还是一个文档或者是一个命令输出,然后用管道线连接。使用WMI时,如果你不知道所需要的那个确切的帮助课程名称,用这个方法就可以使你的使用非常简便,也能使您能轻松的找到所要的带有详细信息的文档或者文件。

      此文章中文版权归TechTarget和天极公司所共有,任何第三方不得转载。!!

     原文链接:http://searchwincomputing.techtarget.com/generic/0,295582,sid68_gci1254209,00.html

 

共2页。 9 1 2

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i