首页 > 解决方案 > powershell 和 .net 对象类型不同

问题描述

我使用 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,

标签: .netpowershellvirtual-machinehyper-vpsobject

解决方案


推荐阅读