首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Powershell导入-模块命令不适用于c# api

Powershell导入-模块命令不适用于c# api
EN

Stack Overflow用户
提问于 2013-01-22 16:42:52
回答 2查看 4K关注 0票数 3

导入模块命令在powershell windows控制台上工作得很好,但同样的命令在c# api上不起作用。我使用这个项目来执行powershell脚本:http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C

它会执行其中许多命令,但不会执行“导入模块'c:\vm\vm.psd1'”命令。我尝试导入microsoft模块,但也不起作用。如何使用c#接口执行导入模块命令?

此外,add-pssnapin 'virtualmachinemanager'也不能正常工作。

EN

回答 2

Stack Overflow用户

发布于 2013-01-22 16:49:43

尝试这样加载模块:

PowerShell powershell = PowerShell.Create();
powerShell.Commands.AddCommand("Import-Module").AddParameter("Name", "c:\vm\vm.psd1'");

PowerShell powershell = PowerShell.Create();
powershell.Commands.AddCommand("Add-PsSnapIn").AddParameter("Name", "virtualmachinemanager");

使用管道尝试创建一个InitialSessionState

InitialSessionState iss = InitialSessionState.CreateDefault();
           iss.ImportPSModule(new string[] { @"C:\vm\vm.psd1"});
           Runspace runSpace = RunspaceFactory.CreateRunspace(iss);
           runSpace.Open();

然后使用您的代码和pipeline从加载的模块运行cmdlet

票数 1
EN

Stack Overflow用户

发布于 2013-01-22 23:44:48

尝试执行以下命令来加载管理单元和执行命令:

using System.Management.Automation.Runspaces;

//...

var rsConfig = RunspaceConfiguration.Create();
using (var myRunSpace = RunspaceFactory.CreateRunspace(rsConfig))
{
    PSSnapInException snapInException = null;
    var info = rsConfig.AddPSSnapIn("FULL.SNAPIN.NAME.HERE", out snapInException);

    myRunSpace.Open();
    using (var pipeLine = myRunSpace.CreatePipeline())
    {
        Command cmd = new Command("YOURCOMMAND");
        cmd.Parameters.Add("PARAM1", param1);
        cmd.Parameters.Add("PARAM2", param2);
        cmd.Parameters.Add("PARAM3", param3);

        pipeLine.Commands.Add(cmd);
        pipeLine.Invoke();
        if (pipeLine.Error != null && pipeLine.Error.Count > 0)
        {
            //check error
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14454544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档