如何使用c#读取powershell清单文件(.psd1)

我正在尝试访问自定义Power Shell模块的清单详细信息,该模块将清单文件与模块(psm1)文件一起存储在我的目录结构中.

访问清单详细信息(如Description,GUID等)的最佳方法是什么?

解决方法

psd1文件是有效的PowerShell脚本,因此最好让PowerShell解析该文件.

最简单的方法是使用Test-ModuleManifest cmdlet.从C#开始,它看起来像:

using (var ps = PowerShell.Create())
{
    ps.AddCommand("Test-ModuleManifest").AddParameter("Path",manifestPath);
    var result = ps.Invoke();
    PSModuleInfo moduleInfo = result[0].BaSEObject as PSModuleInfo;

    // Now you can look at the properties like Guid or Description
}

其他方法无法处理解析PowerShell的复杂性,例如在尝试使用正则表达式时,很容易错误地处理注释或此处的字符串.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...