PowerShell 技能连载 - 伪造对象类型

适用于 PowerShell 3.0 及以上版本

PowerShell 内部的类型扩展系统的作用是负责将对象转换为文本。它的实现方法是通过查询一个名为“PSTypeName”的属性。您可以为自定义的对象添加这个属性来模拟其它对象类型并使 ETS 用相同方式显示该对象:

$object = [PSCustomObject]@{
  ProcessName = 'notepad'
  ID = -1
  PSTypeName = 'System.Diagnostics.Process'
}

The object pretends to be a process object, and ETS will format it accordingly:

PS> $object

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
              0        0          0     0              -1 notepad



PS>

PowerShell 技能连载 - 伪造对象类型

http://blog.vichamp.com/2014/10/22/faking-object-type/

作者

吴波

发布于

2014-10-22

更新于

2022-07-06

许可协议

评论