`

C# 调用PowerShell方法

阅读更多
原帖地址:http://www.cnblogs.com/BoyceYang/archive/2013/06/13/3133454.html

PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了

1.创建一个powershell的方法,供C#调用,方法很简单,两个数的加法运算

function Sum

{

param([int]$first, [int]$second)

 

$result = $first + $second

 

return $result

}

 

 2. 在C#的控制台程序中创建一个私有方法,调用powershell

首先定义一个powershell存放路径的全局变量

private static string script =File.ReadAllText(@"Path\Sum.ps1");

        private static void CallPS1()

        {

            using (Runspace runspace = RunspaceFactory.CreateRunspace())

            {

                runspace.Open();

                PowerShell ps = PowerShell.Create();

                ps.Runspace = runspace;

                ps.AddScript(script);

                ps.Invoke();

 

                ps.AddCommand("Sum").AddParameters(

                    new Dictionary<string, int>()

                    {

                        {"first", 5},

                        {"second", 4}

                    }

                    );

                foreach (PSObject result in ps.Invoke())

                {

                    Console.WriteLine("CallPS1()");

                    Console.WriteLine(result);

                }

            }

        }

调用方法需要添加一个引用System.Management.Automation.dll
如果找不到可以到这个路径下找到:C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

本文链接

分享到:
评论

相关推荐

    C#调用PowerShell

    总结,C#调用PowerShell是一种强大的工具,可以充分利用PowerShell的灵活性和功能,特别是在进行系统管理和自动化任务时。通过理解如何创建和使用`Runspace`、`Pipeline`和`Command`对象,开发者可以在C#应用程序中...

    C#调用powershell例子

    C#调用powershell脚本的一个例子,很简洁清晰,vs打开项目即可运行。 Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。

    c#运行powershell例子

    在C#中运行PowerShell是常见的任务,尤其当你需要利用PowerShell的强大功能来执行系统管理、自动化任务或者访问Windows API时。以下是一个详尽的解释,涵盖了如何在C#应用程序中执行PowerShell脚本。 首先,你需要...

    c#调用VBS脚本

    总结来说,C#调用VBScript脚本的能力使得我们可以利用VBScript的灵活性和与Windows系统的紧密集成,同时保持C#应用程序的结构和稳定性。这种技术适用于需要执行复杂逻辑、系统级操作或者自动化任务的场景,特别是在...

    PSNoWindow:在dotnet核心中从C#调用Powershell

    PSNoWindow 克隆回购 cd PSNoWindow dotnet发布-c版本-r win10-x64 ... 。\ PSNoWindow.exe 在Program.cs中注释了几行,这些行打印了Powershell执行后的结果,最后一行保持控制台窗口... Powershell仍然可以被调用。

    C#调用CMD命令并获取动态信息

    总之,通过C#调用CMD命令并实时获取输出信息,开发者可以灵活地控制程序执行的流程,特别是在处理大量数据或长时间运行的任务时,这种技术能提供必要的进度监控和用户反馈。这在提高应用程序的可交互性和用户体验...

    调用powershell 调整笔记本亮度

    可以用wpf c# 调用,很方便。 亮度范围0-100。在win10环境下亲测可行

    使用英特尔3d相机的更简单方法。自定义姿势、手势等等_C#_PowerShell_下载.zip

    自定义姿势、手势等等_C#_PowerShell_下载.zip”是一个与计算机视觉技术相关的项目,特别涉及到使用英特尔的3D摄像头(如RealSense系列)来捕捉和处理深度数据。这个项目可能使用了C#编程语言,并结合PowerShell脚本...

    PowerShell Build C#解决方案

    标题中的“PowerShell 生成 C# 解决方案”指的是一种利用 PowerShell 脚本来自动构建 C# 项目的实践方法。这种方法通常用于持续集成(CI)或自动化部署等场景,通过脚本的方式可以确保构建的一致性和可靠性。 #### ...

    redis 安装c#调用

    以下是如何使用StackExchange.Redis进行C#调用的基本步骤: 1. **安装库**:在你的项目中,通过NuGet包管理器安装`StackExchange.Redis`库。 2. **配置连接**:在C#代码中,首先需要创建一个`...

    旧照片修复(深度潜在空间平移)_C#_PowerShell_下载.zip

    在本上下文中,PowerShell可能被用作工具来执行一系列操作,例如调用C#编写的程序,控制文件操作,或者作为自动化工作流的一部分来处理多个照片文件。 文件名"photo-restoration-main"暗示这是一个项目的主目录或者...

    C#操作Excel后的进程释放

    在.net和C#中调用了Excel后,往往Excel进程不会被关闭,此文档给了一个思路

    Python-PowerShell封装了PythonforNET实现从PowerShell调用Python

    4. 调用Python函数:最后,可以在PowerShell脚本中像调用.NET方法一样调用Python函数,传递参数并接收返回值。 在"压缩包子文件的文件名称列表"中看到的"snek-master"可能是一个项目或库的名称,可能包含了实现这个...

    AspNetCore.Health使负载平衡器能够监视已部署的Web应用程序的状态 -C#-PowerShell-下载

    AspNetCore.Health 是一个开源库,专门设计用于帮助开发者在基于ASP.NET Core的Web应用程序中实现健康检查功能。...通过结合C#编程语言和PowerShell自动化工具,开发者可以构建出一套高效且可靠的健康检查系统。

    PowerShell模板示例源码

    在"HostingPowerShell"这个文件中,可能包含了创建和管理PowerShell运行时实例的代码,以及如何在C#应用程序中调用和执行PowerShell脚本的示例。通过学习和理解这些示例,开发者可以更有效地将PowerShell的自动化...

    c#实现windows下挂载镜像并自动执行安装工具(附代码)

    c#调用powershell命令,实现对指定路径的镜像文件进行挂载并安装(内附工程代码)这里发现下载需要的积分自动涨到了15,我调整一下,降下来,不然没有太大的下载必要,不是多么有技术含量的东西,就一个小工具

    C# 自动安装IIS,以及创建网站

    C#程序可以通过创建PowerShell运行空间实例,并调用相应的Cmdlet(PowerShell命令)来执行安装IIS和创建网站的命令。 安装IIS的步骤可能包括以下内容: 1. 检查系统是否已经安装了IIS。这可以通过查询Windows组件...

    powershell

    启动服务则相当于调用服务对象的方法将Status属性改为started。对象的类型确定了它具备哪些属性和方法,但每个对象实例可以有不同的属性值。 要找出某个Cmdlet会产生哪种.NET对象类型,可以使用管道运算符(|)将命令...

    实验用PHP调用DLL

    接下来,我们将通过一个简单的PHP脚本来验证是否成功调用了C#中的方法。创建一个名为`index.php`的文件,并输入以下内容: ```php $r = new Com("HelloWorld.Hello"); $s = $r-&gt;Write(); echo $s; ?&gt; ``` 运行此...

    C# 通过power shell自动创建exchang邮箱数据库

    要通过C#调用PowerShell,你需要使用`System.Management.Automation`命名空间中的类。`PowerShell`类允许你创建PowerShell运行空间并执行命令,而`RunspaceFactory`类则用于创建这个运行空间。例如: ```csharp ...

Global site tag (gtag.js) - Google Analytics