findstr 类似grep命令一样,基于显示文本过滤。一般Powershell都是基于对象过滤。
有时候为了方便快捷会使用基于文本过滤。如下也是Powershell基于对象和基于文本的对比
PS C:\Users\ctxadmin> Get-BrokerDesktop | Select-Object DNSName,RegistrationState
DNSName RegistrationState
------- -----------------
CVAD-XENAPP01.citrixlab.local Registered
P-MCSTS01.citrixlab.local Registered
P-MCSTS02.citrixlab.local Registered
P-PVS01.citrixlab.local Unregistered
P-PVS02.citrixlab.local Unregistered
P-PVS03.citrixlab.local Unregistered
如上是基于对象过滤。打印出DNSName,RegistrationState列的数据
PS C:\Users\ctxadmin> Get-BrokerDesktop | Select-Object DNSName,RegistrationState | findstr Regis
DNSName RegistrationState
CVAD-XENAPP01.citrixlab.local Registered
P-MCSTS01.citrixlab.local Registered
P-MCSTS02.citrixlab.local Registered
如上是基于文本过滤,只要包含Regis字符的行都会被打印出来。
如下为截图显示