【问题标题】:Runspace & custom powershell运行空间和自定义 powershell
【发布时间】:2012-07-29 00:43:43
【问题描述】:

我正在尝试在 C# 中开发一些使用 PowerShell 的工具。 但是,我必须使用与创建 Runspace 时默认使用的这个不同的 powershell,我的意思是这个:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

是否可以强制 Runspace 使用不同(自定义)版本的 powershell?

标准版powershell的问题是没有很多命令,比如“Open-Device”和“Close-Device”。

提前谢谢你

【问题讨论】:

    标签: c# powershell runspace


    【解决方案1】:

    我认为您忽略了 PSH 运行时和主机之间的区别。主机向运行时提供服务(Write-Host,脚本,...)。因此 ISE 不执行转录,因为它不实施该服务。

    使用运行空间,您只需获得核心 PSH 运行时以及加载到其中的任何管理单元/模块。根据Open-DeviceClose-Device 的实现方式,您可能会被卡住。如果它们由管理单元或模块(您的自定义主机自动加载)实现,则只需加载必要的组件。如果这些 cmdlet 依赖于主机本身实现的东西,那么您需要考虑运行一个单独的进程。

    (越来越多地不得不使用自定义主机应该被视为糟糕的形式,因为它不适用于作业、远程处理和(我怀疑)工作流。)

    【讨论】:

      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 2018-07-08
      • 2010-11-14
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      相关资源
      最近更新 更多