我使用 hyperv 虚拟机和 powershell 并发现非常奇怪的问题
当我得到一个对象的类型然后检查它时(例如:字符串):
PS > "str".gettype().fullname
System.String
PS > "str".gettype() -eq [System.String]
True
但是当我得到一个 vm 对象的类型时:
PS > (get-vm)[0].gettype().fullname
Microsoft.HyperV.PowerShell.VirtualMachine
然后我检查 vm 类型:
PS >(get-vm)[0].GetType() -eq [Microsoft.HyperV.PowerShell.VirtualMachine]
False
有人理解这种奇怪的 powershell 对象类型吗?
.net 和 PSObject 之间有区别吗?
tks,