使用命令行参数从 C# 执行 PowerShell 脚本

2024-03-14

我需要从 C# 中执行 PowerShell 脚本。该脚本需要命令行参数。

这是我到目前为止所做的:

RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();

Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptFile);

// Execute PowerShell script
results = pipeline.Invoke();

scriptFile 包含类似“C:\Program Files\MyProgram\Whatever.ps1”的内容。

该脚本使用命令行参数,例如“-key Value”,其中 Value 可以是类似路径的东西,也可能包含空格。

我无法让这个工作。有谁知道如何从 C# 中将命令行参数传递给 PowerShell 脚本并确保空格没有问题?


尝试将脚本文件创建为单独的命令:

Command myCommand = new Command(scriptfile);

然后你可以添加参数

CommandParameter testParam = new CommandParameter("key","value");
myCommand.Parameters.Add(testParam);

最后

pipeline.Commands.Add(myCommand);

这是完整的、编辑过的代码:

RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();

Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

Pipeline pipeline = runspace.CreatePipeline();

//Here's how you add a new script with arguments
Command myCommand = new Command(scriptfile);
CommandParameter testParam = new CommandParameter("key","value");
myCommand.Parameters.Add(testParam);

pipeline.Commands.Add(myCommand);

// Execute PowerShell script
results = pipeline.Invoke();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用命令行参数从 C# 执行 PowerShell 脚本 的相关文章

随机推荐

  • Linux 上 Objective-C 的 IDE [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在学习 Objective C 我想知道在哪里可以找到 Linux 上 Objective C 的
  • 加载逗号后空格不一致的 CSV 文件

    我想使用加载 CSV 文件LOAD DATA INFILE命令 但逗号后面的空格不一致 即有些逗号后面跟着空格 有些逗号后面没有空格 我尝试使用FIELDS TERMINATED BY 指令 但结果表中的某些字段包含前导空格 如果输入是 a
  • 如何将我自己的存储库分叉到新项目中?

    我正在开发一个 HTML5 游戏引擎 我使用 Git 作为 SV 并使用 GitHub 来实际托管该项目 我在设计上做了一些实质性的改变 主要是切换到实体系统范例 我认为是时候换一个新引擎了 我想将它建立在旧引擎的基础上 因为我可以使用很多
  • Javascript:添加动态方法的更好方法?

    我想知道是否有更好的方法向现有对象添加动态方法 基本上 我试图动态地组装新方法 然后将它们附加到现有函数中 该演示代码有效 builder function fn methods method builder for p in method
  • 加载 JSON 文件时出现内存错误

    当我加载 500Mo 大的 JSON 文件时 Python 和间谍程序 返回 MemoryError 但我的电脑有 32Go RAM 当我尝试加载它时 spyder 显示的 内存 从 15 变为 19 看来我应该有更多的空间 有什么我没想到
  • 将网络抓取的响应保存为 csv 文件

    我从网站下载了一个文件rvest 如何将回复另存为csv file Step 1 猴子补丁rvest像这个线程中的包 如何在 Rvest 包中提交登录表单 不带按钮参数 https stackoverflow com questions 3
  • 如何在silverlight3.0中播放Youtube视频

    我正在开发一个 silverlight 应用程序 我想在其中播放 youtube 视频 任何建议请 可供参考的任何示例或任何链接 提前致谢 这里有一个关于这个问题的有趣主题 其中包含 SL 3 0 beta 中的一些示例 http silv
  • 在简单的 main() 中获取rawinputdata

    我正在尝试使用简单的 C 技术和 Windows 从操纵杆读取值 我的目标是编写一个程序 每当操纵杆信号超过预定义阈值时 该程序就会发送键盘命令 键盘命令将由当时处于活动状态的窗口拾取 我的 C 编码技能有限 因此我希望以最简单的方式完成此
  • 如何将 Tomcat 重写阀添加到 Spring Boot 2.0 应用程序

    我正在尝试在 Spring Boot 应用程序中使用 Tomcat 重写阀 但是无法确定将 rewrite conf 放在哪里才能成功加载 我将 Spring Boot 2 0 3 RELEASE 与 Tomcat 8 5 31 一起使用
  • 以编程方式更改图像分辨率

    我计算过 如果我希望生成的图像为 A4 尺寸 600dpi 用于打印目的 则需要为 7016x4961px 72dpi 所以 我以编程方式生成它 然后在 Photoshop 中测试它 它似乎很好 所以如果我调整它的大小 它会获得正确的大小和
  • 如何让FlatList充满高度?

    import React from react import SafeAreaView KeyboardAvoidingView FlatList View Text TextInput Button StyleSheet from rea
  • 配置 grunt 复制任务以排除文件/文件夹

    我已经安装了 grunt 任务grunt contrib copy 我把它嵌入到我的Gruntfile js并通过加载任务grunt loadNpmTasks grunt contrib copy 目前 我使用以下配置来创建一个包含 js
  • 类在需要新实例的地方保留以前的内容

    我定义了一个类 以及一个创建该类实例的函数 我认为这个函数应该每次都创建一个新实例 然而 它看起来像是 继承 了上次调用的内容 任何人都可以解释一下吗 谢谢 class test a def b self x self a append x
  • iframe shimming 或 ie6(及更低版本)选择 z-index 错误

    嗯 不知道有没有人遇到过这个问题简要说明是关于 IE6 的任何
  • constexpr 和奇怪的错误

    我有 constexpr bool is concurrency selected const return ConcurrentGBx gt isChecked GBx is a groupbox with checkbox 我收到错误
  • Backbone.js 事件处理程序命名的最佳实践

    假设我在视图中有一个函数 当某种状态发生更改时会触发该函数 最好给它起什么名字 为什么 状态改变 状态改变 状态改变时 状态改变时 我个人更喜欢使用onEventName名称保持 DOM 事件处理程序的本机命名约定 Like myEleme
  • 如何将Javascript的window.find限制为特定的DIV?

    是否可以在 Safari Firefox Chrome 中使用 Javascript 在特定的 div 容器中搜索给定的文本字符串 我知道你可以使用window find str 搜索整个页面 但是否可以将搜索区域限制为仅在 div 内 T
  • IntelliJ Idea groovy.lang.GroovyRuntimeException:模块版本冲突

    我的 Maven 构建很好 并且能够从 cli 运行 groovy 但是 如果我尝试在 IntelliJ Idea 版本 15 社区版 中运行我的 groovy 类 则会出现以下错误 Exception in thread main jav
  • PyTorch 中的截断反向传播(代码检查)

    我正在尝试在 PyTorch 中实现随时间截断的反向传播 对于以下简单情况K1 K2 我下面有一个实现可以产生合理的输出 但我只是想确保它是正确的 当我在网上查找 TBTT 的 PyTorch 示例时 它们在分离隐藏状态 将梯度归零以及这些
  • 使用命令行参数从 C# 执行 PowerShell 脚本

    我需要从 C 中执行 PowerShell 脚本 该脚本需要命令行参数 这是我到目前为止所做的 RunspaceConfiguration runspaceConfiguration RunspaceConfiguration Create