如果要過濾對象可以使用Where-Object;如果要過濾對象的屬性,可以使用Select-Object;如果要自定義個性化的過濾效果可以使用ForEach-Object。最后如果想過濾重復的結果,可是使用Get-Uinque。
篩選管道結果中的對象
如果你只對管道結果的特定對象感興趣,可是使用Where-Object對每個結果進行嚴格篩選,一旦滿足你的標準才會保留,不滿足標準的就會自動丟棄。例如你通過Get-service查看運行在機器上的當前服務,但是可能只關心哪些正在運行的服務,這時就可是通過每個服務的屬性Status進行過濾。但是前提條件是你得事先知道待處理的對象擁有哪些屬性。你可以通過Format-List * ,也可以通過Get-memeber。
PS C:Powershell> Get-service | Select-Object -First 1 | Format-List *Name : AdobeARMserviceRequiredServices : {}CanPauseAndContinue : FalseCanShutdown : FalseCanStop : TrueDisplayName : Adobe Acrobat Update ServiceDependentServices : {}MachineName : .ServiceName : AdobeARMserviceServicesDependedOn : {}ServiceHandle :Status : RunningServiceType : Win32OwnProcessSite :Container :PS C:Powershell> Get-service | Select-Object -First 1 | Get-Member -MemberTypeProperty TypeName: System.ServiceProcess.ServiceControllerName MemberType Definition---- ---------- ----------CanPauseAndContinue Property System.Boolean CanPauseAndContinue {get;}CanShutdown Property System.Boolean CanShutdown {get;}CanStop Property System.Boolean CanStop {get;}Container Property System.ComponentModel.IContainer Container {g...DependentServices Property System.ServiceProcess.ServiceController[] Dep...DisplayName Property System.String DisplayName {get;set;}MachineName Property System.String MachineName {get;set;}ServiceHandle Property System.Runtime.InteropServices.SafeHandle Ser...ServiceName Property System.String ServiceName {get;set;}ServicesDependedOn Property System.ServiceProcess.ServiceController[] Ser...ServiceType Property System.ServiceProcess.ServiceType ServiceType...Site Property System.ComponentModel.ISite Site {get;set;}Status Property System.ServiceProcess.ServiceControllerStatus...
知道了對象有哪些屬性,要完成上面提到的需求就很容易了。
PS C:Powershell> get-service | Where-Object {$_.Status -eq "Running"}Status Name DisplayName------ ---- -----------Running AdobeARMservice Adobe Acrobat Update ServiceRunning AppHostSvc Application Host Helper ServiceRunning AppIDSvc Application IdentityRunning Appinfo Application InformationRunning AudioEndpointBu... Windows Audio Endpoint BuilderRunning Audiosrv Windows AudioRunning BDESVC BitLocker Drive Encryption ServiceRunning BFE Base Filtering EngineRunning BITS Background Intelligent Transfer Ser...Running CcmExec SMS Agent Host
新聞熱點
疑難解答