首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell如何在Where-Object中使用-and

PowerShell如何在Where-Object中使用-and
EN

Stack Overflow用户
提问于 2019-05-25 01:25:45
回答 2查看 2.2K关注 0票数 0

我想用两个条件来过滤一个命令结果。以下是我的命令

代码语言:javascript
复制
 $list=Get-PnpDevice | Sort-Object -Property Name | Where-Object -Property ConfigurationFlags -NotLike '*DISABLED*' | ft Name, InstanceId -AutoSize

下一个过滤器是

代码语言:javascript
复制
 $list=Get-PnpDevice | Sort-Object -Property Name | Where-Object -Property FriendlyName -like '*touch screen*' | ft Name, InstanceId -AutoSize

它们都是单独工作的,但我想使用and命令将它们连接起来。我尝试按照下面的命令使用-AND,但它总是出现错误

代码语言:javascript
复制
 Get-PnpDevice | Sort-Object -Property Name | Where-Object{
      ( ConfigurationFlags -NotLike '*DISABLED*') -and 
      ( FriendlyName -like '*touch screen*' ) }| ft Name, InstanceId -AutoSize
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-25 01:47:14

只需在Where-Object中使用$_ automatic variable来引用属性名称:

代码语言:javascript
复制
Get-PnpDevice | Sort-Object -Property Name | Where-Object{
      ( $_.ConfigurationFlags -NotLike '*DISABLED*') -and 
      ( $_.FriendlyName -like '*touch screen*' ) }| ft Name, InstanceId -AutoSize
票数 2
EN

Stack Overflow用户

发布于 2019-05-26 09:12:45

你可以把“Where”子句连在一起……它的语法更简单,更容易阅读

代码语言:javascript
复制
Get-PnpDevice | Sort-Object -Property Name | Where ConfigurationFlags -NotLike '*DISABLED*' | Where FriendlyName -like '*touch screen*' | ft Name, InstanceId -AutoSize
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56297144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档