【问题标题】:Best way to store powershell snapin names to be used by c# app for later use存储 c# 应用程序使用的 powershell 管理单元名称以供以后使用的最佳方法
【发布时间】:2010-11-12 03:31:37
【问题描述】:

我有一个 c# 应用程序,它根据输入执行规则。一些规则需要执行一个 poweshell 脚本。我假设某些脚本(可能是用户编写的)需要一个可用的管理单元才能正确执行。

我知道我可以通过这样做来添加管理单元。

RunspaceConfiguration 配置 = RunspaceConfiguration.Create(); PSSnapInException 警告; config.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out warning); if (warning != null) { ... 抛出警告; }

我也知道管理单元元数据可以存储在 powershell .psc1 控制台文件中,如果 它已由用户设置。我可以加载这个。但是,如果用户没有控制台文件,并且只想使用来自 IIS、Exchange 或自定义管理单元的单个管理单元,该怎么办。

存储定义的最佳方式是什么。我可以将它存储在 app.config 中吗?假设脚本需要“WebAdministration”,即 IIS 7 管理单元名称。我可以将它存储在 app.config 中的一个键中吗?如上所述,我会阅读并加载它。

这里有什么我想念的吗? 任何帮助,将不胜感激。 谢谢。 鲍勃。

【问题讨论】:

    标签: c# powershell pssnapin


    【解决方案1】:

    以你的网络管理为例,用户应该在脚本本身中声明这是一个要求(你可以稍后解析出来)

    #requires -pssnapin WebAdministration
    $foo = get-web
    

    http://technet.microsoft.com/en-us/library/dd315380.aspx

    【讨论】:

    • 感谢 x0n,这似乎是一种简单易行的方法。鲍勃。
    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多