Csharp/C#教程:在C#中导入PowerShell模块分享


在C#中导入PowerShell模块

我正在尝试编写一些C#代码以使用PowerShell与Lync交互,我需要在执行Lync cmdlet之前导入Lync模块。 但是,我的代码似乎没有导入模块,我不断收到“找不到get-csuser命令”exception。 这是我的代码:

PowerShell ps = PowerShell.Create(); ps.AddScript(@"import-module Lync"); ps.Invoke(); ps.Commands.AddCommand("Get-csuser"); foreach (PSObject result in ps.Invoke()) { Console.WriteLine(result.Members["Name"].Value); } 

不知道如何导入Lync模块?

知道了,模块需要通过其完整路径导入,并且64位PowerShell和32位PowerShell的执行策略需要设置为Unrestricted(或者根据您的情况限制除限制之外的任何其他内容)。 这是代码:

 static void Main(string[] args) { InitialSessionState initial = InitialSessionState.CreateDefault(); initial.ImportPSModule(new string[] {"C:\Program Files\Common Files\Microsoft Lync Server 2010\Modules\Lync\Lync.psd1"} ); Runspace runspace = RunspaceFactory.CreateRunspace(initial); runspace.Open(); PowerShell ps = PowerShell.Create(); ps.Runspace = runspace; ps.Commands.AddCommand("Get-csuser"); foreach (PSObject result in ps.Invoke()) { Console.WriteLine(result.Members["Identity"].Value); } } 

尝试使用PowerShell类AddCommand方法。

 ps.AddCommand("import-module Lync"); 

或者你可以使用Runspace类,你可以在这里找到一个例子: http : //www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C

上述就是C#学习教程:在C#中导入PowerShell模块分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1028062.html

(0)
上一篇 2022年1月10日
下一篇 2022年1月10日

精彩推荐