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

PowerShell

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

2018年5月26日

こんにちは!

 

Write-Host は、コンソール画面の出力に限った用途と書きました。ここでは、とりあえず Write-Host にはなく Write-Output にある機能について説明します。

 

 

 

オブジェクトをパイプラインに渡せる

 

 

Write-Output も、文字列をコンソールに出力するという点では、Write-Host とも変わりませんが、オブジェクトをパイプラインに渡す事ができます。

以下の例は、"Hello World" という文字列のオブジェクトを、パイプラインで Get-Member というコマンドに渡しています

 

C:\> Write-Output "Hello World !!" | Get-Member


# 実行結果

TypeName: System.String

Name MemberType Definition 
---- ---------- ---------- 
Clone Method System.Object Clone(), System.Object ICloneable.Clone() 
CompareTo Method int CompareTo(System.Object value), int CompareTo(string ...
Contains Method bool Contains(string value) 
...
TrimEnd Method string TrimEnd(Params char[] trimChars) 
TrimStart Method string TrimStart(Params char[] trimChars) 
Chars ParameterizedProperty char Chars(int index) {get;} 
Length Property int Length {get;}

 

 

戻り値を変数に格納できる

 

 

また、Write-Host は文字列がホストに出力されますが、戻り値はなく $a は null(空っぽ) です。

 

C:\> $a = Write-Host "Hello World!!"
C:\> Hello World!! ← コンソールに出力されます。
C:\> $a
C:\>     ← $a の値には何も入っていません。空です。

 

 

上記に対して、Write-Output は文字列は出力されませんが、文字列が戻り値として変数に入っています。

 

C:\> $a = Write-Output "Hello World!!"
C:\> $a
"Hello World!!" ← $a の値には Hello World!! が入っている。

 

 

とりあえず以上になります。

 

いかがでしょうか。Write-Host と比較して、Write-Output の特徴がお分かり頂けたのではないかと思います。

 

 

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

  • この記事を書いた人

そーまん

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

人気記事

1

こんにちは!SE ブログの相馬です。       今回は、PC に適用されている GPO を確認する方法について書きました。     グループポリシー ...

2

こんにちは!SE ブログの相馬です。       今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは ...

3

こんにちは!SE ブログの相馬です。       今回は、グループポリシーを使って、特定のコンピューターに対して、ドメインユーザーに Administrators 権限を ...

4

こんにちは!SE ブログの相馬です。       今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 ...

5

こんにちは!SEブログの相馬です。       今回は、ユーザープロファイルを削除する方法について書いてみました。     1 台の PC を複数人で ...

6

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

7

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

8

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

9

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

10

こんにちは!SE ブログの相馬です。       今回は、Windows Server 2016 で NTP サーバーと同期する方法について書きました。   & ...

-PowerShell
-