开头先讲四句话:
第一,如果要过滤对像,可以使用都;
第二,如果要过滤对像的属性,可以使用Select-Object;
第三,如果要自定义过滤效果,可以使用ForEach-Object;
第四,如果想过滤重复的结果,可以使用Get-Unique;
然后再加上对有些命令行中过滤器的理解,过滤器在有些命令中会出现,也是过滤的意思,我查了半天的文档,没有一个明确的解释,但突然从一个命令的解释中得到了官方的解释:
查询一个命令的全部帮助,如下:
p C: \祝辞帮助Get-WmiObject完整
,名字,Get-WmiObject
简介
,,WMI类的实例或类可用的信息。
语法,,Get-WmiObject(海尔)& lt; String>[[属性]& lt; String[]祝辞][修正][-AsJob][认证{默认没有| |
,,连接电话| | |包PacketIntegrity | PacketPrivacy |不变}][权威& lt; String>] [-ComputerName
,,& lt; String[]祝辞][凭据& lt; PSCredential>] [-DirectRead] [-EnableAllPrivileges][滤波器& lt; String>][模拟
,,{默认匿名| |识别|冒充|委托}][地区& lt; String>][名称空间& lt; String>]
,,[-ThrottleLimit & lt; Int32>] [& lt; CommonParameters>]
这条命令中有一个过滤器参数,详细解释如下:
,滤波器& lt; String>
,,,指定一个Where子句作为一个过滤器。使用WMI查询语言的语法(WQL)。
,,,重要的是:不包括在关键字参数的值。例如,以下命令
,,,只返回逻辑磁盘的DeviceID的“c:”和服务名称WinRM的没有
,,使用在关键字。
,,,“Get-WmiObject Win32_LogicalDisk过滤器“的DeviceID=c:”
,,,“Get-WmiObject win32_service过滤器“name=WinRM”
,,,需要吗?,,,,,,,,,,假
,,,职位?,,,,,,,,,,名叫
,,,默认值,,,,,,,没有一个
,,,接受管道输入吗?,,,假
,,,接受通配符?,假
我对这个解释的理解是,首先不是所有命令支持过滤器参数,对于支持的命令,所遵守的语法是WMI查询语言,如果想过多的查义这个句法,自行研究吧。
准备数据源,其实我就想看看一个对像有多少属性,然后去调用一下子。
p C: \祝辞得到服务| Select-Object首次1 |获取成员-MemberType属性
,TypeName: System.ServiceProcess。ServiceController
名称,,,,,,,MemberType大敌;,定义
- - - - -,,,,,,,,- - - - - - - - - - -,- - - - - - - - - - -
名称,,,,,,,,AliasProperty Name=名
RequiredServices,,AliasProperty RequiredServices=ServicesDependedOn
CanPauseAndContinue财产,,,bool CanPauseAndContinue{得到;}
CanShutdown,,,,财产,,,bool CanShutdown{得到;}
CanStop,,,,,,财产,,,bool CanStop{得到;}
容器,,,,,财产,,System.ComponentModel。IContainer容器{得到;}
DependentServices,财产,,System.ServiceProcess。ServiceController [] DependentServices{得到;}
DisplayName,,,,财产,,,字符串DisplayName{获取;设置;}
MachineName,,,,财产,,,字符串MachineName{获取;设置;}
ServiceHandle,,,财产,,System.Runtime.InteropServices。SafeHandle ServiceHandle{得到;}
名,,,,财产,,,字符串名{获取;设置;}
ServicesDependedOn,财产,,System.ServiceProcess。ServiceController [] ServicesDependedOn{得到;}
ServiceType,,,,财产,,System.ServiceProcess。ServiceType ServiceType{得到;}
网站,,,,,,,,财产,System.ComponentModel。ISite网站{获取;设置;}
StartType,,,,,财产,,System.ServiceProcess。ServiceStartMode StartType{得到;}
状态,,,,,,,财产,System.ServiceProcess。ServiceControllerStatus地位{得到;}
第一,如果要过滤对像,可以使用都;
p C: \祝辞得到服务|都{$ _。状态eq“运行”}
状态,的名字,,,,,null