扩展PsCredential类

时间:2016-10-04 19:36:02

标签: powershell powershell-v4.0

我想扩展PsCredential类(在PowerShell v4模块中)以包含服务器名称,然后能够使用像Export-PsCredential这样的脚本序列化/反序列化该类。可以在PowerShell模块中轻松完成(扩展类)吗?

1 个答案:

答案 0 :(得分:1)

是的,它可以!您可以define your extension in XML, in a .ps1xml file然后使用Update-TypeData更新它,或者甚至更好,您可以在模块清单中指定此权限,以便在导入模块时完成此操作。

也许最好的例子来自Keith Hill's blog where he adds a BigEndianAddress property to [System.Net.IPAddress],以便他们可以轻松排序。

<?xml version="1.0" encoding="utf-8" ?> 
<Types> 
  <Type> 
    <Name>System.Management.Automation.PSCredential</Name> 
    <Members> 
      <NoteProperty> 
        <Name>ServerName</Name> 
        <Value></Value>
      </NoteProperty> 
    </Members> 
  </Type> 
</Types>

(注意,我没有测试过上面的内容)

当您create a New-ModuleManfifest时,您可以使用文件名指定-TypesToProcess参数。