質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

3回答

13954閲覧

長いOR条件をスマートに書く方法、またはサービスごとのステータスを一覧表示する方法

asterisk9101

総合スコア49

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

1クリップ

投稿2016/07/03 02:29

###前提・実現したいこと
powershell の get-service の結果を絞り込み、特定サービスごとのステータスを一覧したい。
以下のコマンドよりスマートな書き方があれば教えてください。

Linux で同様の作業をするときは grep -f svc.list で対処しています。

###発生している問題・エラーメッセージ
コマンドが長くなりすぎて見づらい。

###試したこと

# 余計なサービスも表示される get-service
# Running していることも確認したい # Stopped か Running のどちらか一方だけの一覧は意味がない get-service | where { $_.status -eq "Stopped" }
# 横に長すぎる(余計な項目が引っかかる可能性がある) get-service | where { $_.name -match "hoge|fuga|piyo|moge..."}
# 一時ファイルは使いたくない get-service > svcs.txt get-content svcs.txt | select-string -pattern (get-content list.txt)
# 現状ベストの方法だが、記号が多いので powershell に慣れていない人は入力に手間取るだろう get-service | % { [string]::Join(" ", @($_.status, $_.name)) } | select-string -pattern (get-content list.txt)

###補足情報(言語/FW/ツール等のバージョンなど)
Powershell 3.0 の使用を想定しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

既に解決済とは思いますが、以下のような書き方はいかがでしょうか。
横に長いのが見づらいのであれば、縦に長くすればよいのでは、という発想です。

powershell

1$nameList = @( 2 'hoge', 3 'fuga', 4 'piyo', 5 'moge' 6) 7get-service | where { $_.name -in $nameList }

投稿2016/08/12 09:15

minr

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

list.txtにサービス名一覧が書かれていて、それに該当するものだけを表示したいということですよね。
こういうのはどうでしょうか。

powershell

1Get-Service | Where-Object {Select-String ("^" + $_.Name + "$") list.txt -Quiet}

投稿2016/07/03 04:03

catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

たびたび同じことをするなら .ps1 ファイルに保存すればいいんじゃないでしょうか?
慣れてない人にはスクリプトを渡せばいいと思います。

投稿2016/07/03 03:14

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問