以下 powershell 获取计算机系统信息的对象:
> $o = Get-WmiObject -Class Win32_ComputerSystem -ComputerName .
> $o
# output
# Domain : somedomain.com
# Manufacturer : VMware, Inc.
# Model : VMware Virtual Platform
# Name : MYSERVER
# PrimaryOwnerName : Windows User
# TotalPhysicalMemory : 17179332608
TotalPhysicalMemoryGB
我向对象添加了一个新成员$o
,如下所示:
> $o = Add-Member -Input $o @{TotalPhysicalMemoryGB=([math]::round($t.TotalPhysicalMemory / 1GB))} -PassThru
这似乎可行,因为我可以访问该成员:
> $o.TotalPhysicalMemoryGB
# output
# 16
但是,当我再次打印整个对象时,成员TotalPhysicalMemoryGB
不会出现在成员列表中:
> $o
# output
# Domain : somedomain.com
# Manufacturer : VMware, Inc.
# Model : VMware Virtual Platform
# Name : MYSERVER
# PrimaryOwnerName : Windows User
# TotalPhysicalMemory : 17179332608
我究竟做错了什么?打印时如何让新成员包含在内$o
?