3

PowerShell Studio をインストールしたばかりで、いくつかの VMware コマンドの結果をリッチテキスト ボックスに表示しようとしています。

たとえば、を実行するget-vmと、データが正常に表示され (フォントを Lucida Console に変更しましたが、問題ないように見えます)、get-vmリッチテキスト ボックスに通常の結果が表示されます。

Name : xxx
Cluster : xxx
ESX Host : esx6
Datastore : xxx
MemoryGB : 8
NumCpu : 2
ProvisionedSpace(GB) : 282
UsedSpace(GB) : 281
OS : Microsoft Windows Server 2008 R2 (64-bit)

しかし(get-vm).Guest.Disks、リッチテキストボックスにうまく表示されないデータを実行しようとすると、次のようになります。

Capacity:192515403776,
FreeSpace:43895230464,
Path:E:\

Capacity:75053920256,
FreeSpace:12630409216,
Path:C:\

通常の PowerShell コンソールで実行すると、次のようになります。

Volume Capacity(GB) FreeSpace(GB) % FreeSpace
------ ------------ ------------- -----------
E:\    120          13            11
C:\    120          15            12

PowerShell のコマンド ラインは次のとおりです。

((Get-VM $vm).Guest.disks) | Format-Table @{N="Volume";E={$_.Path}},
    @{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
    @{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
    @{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
  Out-String

リッチテキスト ボックスのコマンド ラインは次のとおりです。

$richtextbox1.AppendText((Get-VM $text).Guest.disks) |
  Format-Table @{N="Volume";E={$_.Path}},
    @{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
    @{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
    @{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
 Out-String 

Richtextbox やその他のコントロールを使用して PowerShell コンソールに表示されるような結果を得るにはどうすればよいですか?

4

2 に答える 2