刚刚安装了PowerShell Studio,我试图在richtextbox中查看某些VMware命令的结果。
例如,当我运行get-vm
时,它显示数据正常(我将字体更改为Lucida控制台 - 看起来没问题),常规get-vm
导致richtext框:
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
在richtextbox中未显示的数据时,它看起来像这样:
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
richtextbox中的命令行是:
$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
如何在PowerShell控制台中查看带有richtextbox或任何其他控件的结果?
答案 0 :(得分:0)
您的richtextbox看起来像列表格式的结果。将结果导入Format-Table
cmdlet,然后将其导入Out-String
以强制执行表格格式:
... | Format-Table | Out-String
答案 1 :(得分:0)
您需要使用以下固定大小字体之一来显示输出: 索拉 快递新 Lucida控制台