这可能是一个非常noob的PowerShell问题,但这里有。
我想在使用特定cmdlet时只选择几个属性进行显示,但是当我使用select语句将它们联系起来时,只会显示select语句中的第一个。
例如,我感兴趣的cmdlet是Get-VM
当我自己执行Get-VM时,我会得到一些默认字段:
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status
---- ----- ----------- ----------------- ------ ------
everything OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
SCOrch Running 0 1393 1.05:02:16 Operating normally
Server 2012 Base Image Off 0 0 00:00:00 Operating normally
Server 2012 DC Off 0 0 00:00:00 Operating normally
现在,我想要显示名称和状态。我试过Get-VM | select Name,State
我只返回名称列
Name
----
everything
SCOrch
Server 2012 Base Image
Server 2012 DC
我只获得传递给返回的select语句的第一个参数,它只是忽略其他参数。我怎样才能只返回我想要的列?
提前致谢
答案 0 :(得分:8)
我怀疑缓冲区/窗口的大小问题。如果缓冲区比缓冲区宽,则某些列可能变得“不可见”。状态,[enum]
(伪装成:[int]
)默认情况下始终是右对齐的。名称([string]
)将左对齐。怀疑你只需改变顺序即可看到所有内容。
看一下这个截图:
这是同一个命令,我只是改变了窗口的宽度以匹配我的缓冲区的宽度......看起来很熟悉?