如何编写自定义PowerShell主机
类似于nuget
希望在钻研调试器之前寻找任何入门材料
MSDN有一节致力于在PowerShell SDK文档中编写PowerShell主机,这是一个很好的起点。
除此之外, 搜索返回以下内容:
没有很棒的文档。 我通过实验和例子了解了我所知道的大部分内容。 和反思。 不是个人类型,逆向工程类型。
Joel Bennett的PoshConsole可能是我发现的自定义主机的最佳OSS示例。 StudioShell代码库还包含一个基于winforms的简单交互式主机。
托管可以相对简单,具体取决于您正在寻找的交互级别。 如果您只想运行一些脚本文件,代码就像这样简单:
using( var runspace = RunspaceFactory.Create() ) { runspace.Open(); using( var pipeline = runspace.CreatePipeline( "./myscript.ps1" ) ) { Collection results = pipeline.Invoke(); // ... process the results of running myscript.ps1 } }
如果您需要任何类型的交互性,例如从脚本中提示用户,那么您将非常有限地使用koolaid并实现大部分PSHost,PSHostUserInterface和PSHostRawUserInterface合同。 再一次,我会先查看现有的生活实例,然后再自行潜入兔子洞。
我有一系列专门针对此的博客文章。
这是第一个。
我还实现了一个调试器。 我很乐意回答你可能有的问题。 在我的博客上联系信息。
此外, 这是一个实际使用API实现调试器的项目……这是我发现任何已发布代码的唯一地方。
你可以在博客中找到我自己编写的PowerShell,它可以解释脚本而不显示任何窗口。
来自Leporelo的博客
它实际上是您需要的少数第一行以及PowerShell SDK的快捷方式。
shell响应我自己的需要 (抱歉用法语)