Powershellにて、コマンド出力結果に対し、grep(Select-String)をかけようとすると基本的にできない。
それは、出力結果はString型ではなく、Array型扱いになってしまうから。
そういう場合は、string型宣言をした変数に一旦代入してから、Select-Stringをかけていたけどそんなことすることなかったんですね。
1 |
Get-Command *AD* | Out-String -Stream | Select-String "ActiveDirectory" |
このように、パイプでOut-String -Streamを渡してあげると、出力結果がString型に変換される。
そのあとにパイプでSelect-Stringを渡してあげるときれいにgrepできる。
一つ賢くなりました!