PowerShell

【PowerShell】メッセージボックスを表示する

こんにちは!SE ブログの相馬です。

 

 

今まで PowerShell で記事を書いてきましたが、画面に表示する処理ができる事を知りませんでした。私が知っている PowerShell でできる事といえば、主にサーバーの管理だと思っていましたので。PowerShell から .NET Frameworkライブラリを使用することが可能なので、画面に表示させたりする事ができるそうです。

 

 

もちろんサーバーの管理としても使えると思いますけど、GUI でシステム管理者やユーザーに操作させたい時に非常に便利ですね。様々な用途で活躍すると思うので、これは是非とも理解しておくべき機能だなと思い、また面白そうだなと思い、色々いじってみようと思います。

 

 

という事でまずは Hello と出してみましょう。

 

 

 

 

 

 

よく分かりませんけど、この [System.Windows] と名前空間をくっつければ上のようにメッセージボックスを表示する事ができます、

 

 

System.Windows 名前空間 | Microsoft Developers Network

 

 

ですので、[System.Windows 名前空間] で色々な事ができるようです。名前空間に MessageBox を指定し、[System.Windows.MessageBox]::Show で show メソッドを指定して、引数に Hello と表示しています。

 

 

ダイアログウィンドウのように選択肢を表示する事もできます。Yes や No を表示して、クリックした値を返り値にする事ができます。

 

 

書き方としては、[System.Windows.MessageBox]::Show('確認メッセージ','ウィンドウのタイトル','YesNoCancel','Error' となります。

 

 

 

 

 

 

 

それでは、ボタンを押した後に結果も表示してみます。今回は選択肢として [はい] と [いいえ] だけにしました。

 

 

 

 

ダイアログウィンドウ。[はい] と [いいえ] の 2 択にしています。

 

 

 

[はい] を押した結果

 

 

 

[いいえ] を押した結果

 

 

 

 

アセンブリについて

 

 

PowerShell は .NET Framework をもとに作られているようで、デフォルトでロードしているアセンブリというものがあります。作りたい機能によってはロード済みのアセンブリだけでは足りない場合があり、こういった場合は必要なアセンブリをロードして PowerShell から使用できるようにする必要があります。

 

 

ロード済みのアセンブリを確認するには下記のように入力します。

 

 

 

 

いかがでしょうか。GUI でユーザーに操作させたい時に非常に便利ですね。選択肢をクリックしてもらい結果の値に応じて処理を変える事ができるので面白いです。

 

 

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

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴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
-