如何在PowerShell之上构建应用程序?

时间:2009-02-26 23:32:23

标签: powershell

微软似乎大力推动他们的服务器应用程序(即SQL Server 2008,Exchange Server等)都具有某种类型的PowerShell集成。逻辑是有道理的,因为人们可以选择从GUI或CLI管理应用程序。

因此,如果要遵循这一趋势并希望构建具有PowerShell界面的应用程序,那么甚至会如何开始?

社区中有没有人做过这类事情?如果是这样,那么什么似乎是最好的方法?

更新

UI需要具有一定的外观。因此,PowerGUI在这种情况下不适合自己。但是,我使用过PowerGUI,并且同意它可以帮助缩小差距。

部分原因是,托管 PowerShell是否必要才能在其上构建应用程序。从我发现的,它不是(即Cmdlet的)。但是,我还没有看到有人在答案中真正讨论这个问题。

5 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

Exchange 2007管理控制台直接托管PS,并通过显示无处不在的“以及您刚刚要求我做的PowerShell”UI模型来显示每个UI操作。 SQL Server 2005& 8个管理控制台演示了在UI中将所有内容呈现为脚本的概念,作为一种编写脚本功能的方式(但SQL Server中几乎没有PowerShell支持)(在响应Shaw的评论中添加了Exchange和SQL Server的支持类型之间的区别,谢谢)

PowerScripting podcast对此类主题进行了一些采访。另外get-scripting podcast

答案 2 :(得分:2)

几年前,我参加了微软的PowerShell / MMC 3.0 Devlab,他教会了如何做到这一点。基本思想是通过PSSnapin中的一系列PowerShell cmdlet为您的应用程序创建“管理功能”。面向CLI的人员可以直接在cmdlet上加载管理单元和派对。对于面向GUI的,您构建一个MMC管理单元,该管理单元承载PowerShell运行空间,该运行空间响应GUI操作,执行相应的PowerShell cmdlet以调整正在管理的应用程序。对于奖励积分,您可以显示MMC GUI将执行的PowerShell代码,以便可以将代码复制并粘贴到脚本中。 Web上有大量示例{(3}}在您的(或MMC)进程中并在该运行空间中执行PowerShell脚本并获取结果。

答案 3 :(得分:1)

这是一个有趣的想法!

我从来没有想过这个,我不知道我认为这是个好主意,但是可以做一些有创意的事情。

例如,假设您有一些典型的管理软件。特别是,不要真正关心什么。在经典应用程序dev't场景中,我通常会尝试生成Command对象列表(实现某种ICommand的事物),然后我的UI将绑定到这些对象。

现在假设您要为每个Command创建一个cmdlet。 UI或多或少存在作为cmdlet套件中核心逻辑的友好界面。

是的,好的,这里没什么新鲜的。人们已经做了很长时间,围绕命令行工具构建GUI。我认为关键的区别在于你应该从应用程序本身的概念构建单独的命令行工具。哎呀,对于应用程序和cmdlet来说,引用一些共享命令库而不是让GUI位于cmdlet本身之上可能更有意义。

错误 - 对不起散乱的反应。这个答案纯粹是意识流。 :)

答案 4 :(得分:0)

您可以尝试使用原始表单从脚本构建完整的应用程序,或者您需要使用snappin cmdlet构建应用程序(之前是sql使用的内容,交换等)但是链接到这里的primail表单

http://www.primaltools.com/products/info.asp?p=PrimalForms