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