2016-11-30 25 views
0

私が作業しているVM保守スクリプトがあり、出力をログにキャプチャしようとしています。スクリプトの進行に合わせてVMの状態を収集することを検討していますので、チェック/アクションのためのタイムループを使って微調整を行うことができます。複数のPowerShell変数が出力行にあるときに空白になる

私が持っている問題は以下のコードにあります。 Write-Output行の1番目と2番目のVM状態変数は、出力に常に空白として表示されますが、別々に置くと正常に動作します。

$Server_1_1D = Get-VMGuest -VM 1st-VM 
$Server_2_1D = Get-VMGuest -VM 2nd-VM 
$Server_3_1D = Get-VMGuest -VM 3rd-VM 
$Server_1_1D_Name = $Server_1_1D.VmName 
$Server_2_1D_Name = $Server_2_1D.VmName 
$Server_3_1D_Name = $Server_3_1D.VmName 
$Server1_1D_Status = $Server_1_1D.State 
$Server2_1D_Status = $Server_2_1D.State 
$Server3_1D_Status = $Server_3_1D.State 
$Server1_1D_Status 
$Server2_1D_Status 
$Server3_1D_Status 
Write-Output "Initial check: $Server_1_1D_Name was $Server_1_1D_Status, $Server_2_1D_Name was $Server_2_1D_Status, and $Server_3_1D_Name was $Server3_1D_Status." 
$Server1_1D_Status 
$Server2_1D_Status 

上記のコードの出力。 Write-Output行では、1st-VMと2nd-VMのステータス変数は両方とも失われていますが、Write-Output行に配置した配置と数に関係なく、第3のVMは一貫して表示されます。

PS C:\> C:\Scripted_Tasks\Issue.ps1 
Running 
Running 
Running 
Initial check: 1st-VM was , 2nd-VM was , and 3rd-VM was Running 
Running 
Running 

どのようなヘルプや方向が高く評価されています。

のUPDATE 2016年12月1日:

をどのような作品は、私の変数名を取り除くとアンダースコアなしでオーバー始まりました。 Write-Outputの友人からの援助を受けて、角括弧を使ってさまざまなプロパティを呼び出す方法を得ました。とても清潔です。

返信いただきありがとうございます。

$Server1 = Get-VMGuest -VM “Server1” 
$Server2 = Get-VMGuest -VM “Server2” 
$Server3 = Get-VMGuest –VM “Server3” 
Write-Output "Initial check: $($Server1.VmName) was $($Server1.State), $($Server2.VmName) was $($Server2.State), and $($Server3.VmName) was $($Server3.State)." 

のPowerShellの出力は以下のようになります。

Initial check: Server1 was Running, Server2 was Running, and Server3 was Running. 
+3

あなたの文字列の変数名と '$ server_1_'の' $ server1_'です。 – TessellatingHeckler

答えて

0

あなたがあなたの変数を定義している場所を持っていることが表示されます:

$ Server1_、$ Server2_、$ Server3_

変数を呼び出して出力するときは、

$ Server_1_、$ Server_2_、$ Server_3_

番号の前に_余分に追加します。

効果的に定義されていない全く異なる変数を呼び出しています。

+0

アシスタンスに感謝します。私は名前と状態の$($ Server1.property)を実行することによって、より洗練された書き込み出力を与えた友人からもう少し助けになりました。 – Tim

関連する問題