PowerShell

【PowerShell】Write-Hostコマンドレットを使ってみる

2018年5月24日


Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

こんにちは!

 

PowerShell の Write-Host コマンドレットを使って、コンソールに表示される文字をカスタマイズしてみましょう。

 

 

Write-Host コマンドの説明

 

 

PowerShell のコンソールに表示される文字をカスタマイズする事ができます。

例えば、以下のように、コマンドの結果が返る文字の色を変更したりできます。

 

 

また、背景の色なんかも変更したりもできます。

 

 

 

Write-Host 以外のコマンドで、用途に合わせてカスタマイズされた文字を返す

 

 

例えばエラーメッセージなど、用途に合わせた文字を返したい場合は、他のコマンドで実行可能です。

 

警告メッセージを返したい場合

 

 

 

エラーメッセージを返したい場合

 

 

 

デバッグ内容を返したい場合

 

 

 

詳細内容を返したい場合

 

 

 

こんな感じで、簡単に用途に合わせた、カスタマイズされた文字をコンソールに返すことができます。

 

 

Write-Host にはできない事(重要)

 

 

さて、Write-Host にはできない事があります。

 

 

パイプラインへ渡せない

 

 

オブジェクトをパイプラインへ渡すことができないのです。

Write-Host で指定したオブジェクト(例えば "Hello World!")はコンソール画面(ホスト画面)に出力する事しかできません。

つまり、Write-Host は、コンソール画面の出力に限った用途という事になります。

 

実際に、オブジェクトを パイプで Get-Member に渡してみましょう。実行すると、エラーが返ってきます。

 

 

 

変数に代入する事ができない

 

 

Write-Host は、画面に直接出力する用途なので、変数に代入する事ができません。

 

 

 

パイプラインに渡したり、変数に代入したりする場合は Write-Output を使う事になります。

 

 

いかがでしょうか。

 

 

Write-Host の使い方やできない事がこれでご理解いただけたのではないかと思います。

次は、Write-Output の使い方を記事に書きたいと思います。

 

 

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

  • この記事を書いた人

そーまん

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


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637