PowerSehll中过滤管道结果

开头先讲四句话:

第一,如果要过滤对像,可以使用都;

第二,如果要过滤对像的属性,可以使用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

PowerSehll中过滤管道结果