【问题标题】:Making multiple ForEach-Object more efficient使多个 ForEach-Object 更高效
【发布时间】:2015-11-13 20:12:57
【问题描述】:
$prcs = (Get-Process).MainModule.FileName|%{Get-AuthenticodeSignature$_}|Select Path,Status
$prcs|?{$_.status -eq "valid"}
$prcs|?{-not $_.status -eq "valid"}

如何使最后两行更小和/或更高效?在这里完成新手!

【问题讨论】:

  • 不太确定您要做什么。第一个看起来不错,第二个您可以更改为$prcs | ? {$_.status -ne "valid"}
  • 试图使代码尽可能小,所以我想以有效的方式打印 $prcs 有效和无效。
  • 您是否尝试一次处理每个对象,如果状态等于有效则做一件事,如果状态不等于有效则做另一件事?
  • 我想按字母顺序按有效和无效进行排序,但在同一个表中。

标签: powershell


【解决方案1】:

如果您运行的是 V4,则可以使用 Where() 方法的 Split 选项:

$Valid,$NotValid =  $prcs.where({$_.status -eq "valid"},'Split')

【讨论】:

  • 这真是太好了!谢谢!!
猜你喜欢
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 2019-12-09
相关资源
最近更新 更多