【PowerShell】色々な比較演算子を使ってみる

PowerShell

【PowerShell】色々な比較演算子を使ってみる

2018年5月24日

こんにちは!

 

 

比較演算子を整理してみましたので使い方も含めて書いてみました。

PowerShell に関係なく、これらはプログラミングの条件式でよく使いますので、覚えておくとよいでしょう。

 

 

比較演算子一覧

 

 

演算子名 説明
-eq ~と等しい
-ceq ~と等しいか比較(大文字小文字を区別する)
-lt ~より小さい (<)
-le ~以下 (<=)
-gt ~より大きい (>)
-ge ~以上 (>=)
-like ワイルドカードによる比較
-notlike ワイルドカードによる比較
-contains 配列に~が含まれる
-notcontains 配列に~が含まれない
-match 正規表現による比較
-notmatch 正規表現による比較

 

 

使い方

 

 

-eq

 

 

左辺が右辺の値と等しいかを比較します。

結果は True か False で返します。

 

 

 

 

左辺の 100 を文字列にしてみましたが、True で返ってきます。文字列でも値が同じであれば True を返します。

 

左辺が右辺の大文字・小文字が一致していなくても True を返します。

-ceq

 

左辺が右辺の文字列のアルファベットの大文字・小文字と一致しているか比較します。

結果は True か False で返します。

 

 

-lt

 

 

左辺が右辺より小さいかどうかを比較します。

結果は True か False で返します。(単数の場合)

 

 

 

-le

 

 

左辺が右辺以下かどうかを比較します。

結果は単数の場合は True か False で返します。

複数の場合は、該当する値を返します。

 

値が単数の場合

 

値が複数の場合

 

 

-gt

 

 

左辺が右辺より大きいかどうかを比較します。

結果は True か False で返します。(単数の場合)

 

 

 

-ge

 

 

左辺が右辺以上かどうかを比較します。

結果は単数の場合は、 True か False で返します。

複数の場合は、該当する値を返します。

 

値が単数の場合

 

値が複数の場合

 

 

-like

 

 

ワイルドカード( * )を使い、左辺が右辺の文字列の値と一致するか比較します。

右辺にワイルドカード( * )を使います。

結果は True か False で返します。

 

 

大文字・小文字の区別も比較したい場合は -clike を使います。

 

 

-notlike

 

 

ワイルドカード( * )を使い、左辺が右辺の文字列の値と一致しないか比較します。

右辺にワイルドカード( * )を使います。

結果は True か False で返します。

 

 

 

-contains

 

 

配列に -contains で指定した文字列が入っているか確認します。

結果は True か False で返します。

 

 

 

-notcontains

 

 

配列に -contains で指定した文字列が入っていないか確認します。

結果は True か False で返します。

 

 

 

-match

 

 

左辺が右辺と正規表現でマッチしているか比較します。

結果は True か False で返します。

 

 

対象の値、上では Power は $matches 変数に代入されます。

 

 

-notmatch

 

 

左辺が右辺と正規表現でマッチしていないか比較します。

 

 

 

とりあえず以上とします。量が多いですね。

 

 

いかがでしょうか。PowerShell に関わらずプログラミングで、私はよく「~以下」と「~より少ない」などよく間違えたりするので、これを書いてて復習できました。

 

 

では最後までお読みいただきありがとうございました!

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PowerShell
-