问题标签 [runspace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
287 浏览

powershell - 有什么方法可以克隆 Powershell Runspace 对象

我想知道是否可以从旧对象创建新的 Powershell Runspace 对象。

我将同时进行一些 powershell 操作。我每次都创建 powershell 运行空间并运行某些命令。假设前 5 个命令对于所有操作都是相同的。如果我可以为所有操作只运行一次这些命令并将运行空间的副本发送到多线程方法,那将会更有效率。

意思是,我首先通过管道运行一些命令。

现在,我想同时运行某些命令。

concurrentOperations方法已定义为

现在我遇到了一个异常,“管道不能同时运行”。

因此,如果我可以制作运行空间的副本,则将仅为不同的运行空间创建管道。但是运行空间中没有Clone()方法。

有什么办法可以做到这一点?

0 投票
1 回答
968 浏览

c# - 如何将 PSObject 转换为 SecureString。无法隐式转换

假设我在 PowerShell 中使用以下内容创建加密文件:

在 C# 中,我使用 PowerShell 运行空间来读取加密文件并转换为 SecureString:

0 投票
1 回答
108 浏览

c# - 当我在 localhost 上创建 RunSpace 而不提供 runspaceconnectioninfo 时,某些 PowerShell 模块(Cluster cmdlet)不会被加载

请参考以下示例: RunspaceSample(string.Empty); 失败并出现“Add-VMToCluster”一词未被识别为 cmdlet 的名称。而 RunspaceSample("localhost") 或 RunspaceSample("somecomputerName") 成功。任何指针为什么是它?包括 RunspaceConnectionInfo 是否会更改使用的 powershell 版本或用于执行的 RunspaceConfiguration ?此外,如果我使用带有 ComputerName = "localhost" 的 RunSpaceConnectionInfo 创建 Runspace,即使在本地计算机上执行 powershell 脚本,也会对性能产生什么影响?

谢谢

0 投票
1 回答
235 浏览

c# - 使用 Uri 创建时,新 Runspace 对象的 SessionStateProxy 属性为空

当我使用 PS 3.0+ 时,我的远程运行空间工作正常,但是一旦我使用 PS 2.0 运行我的代码,SessionStateProxy属性为空(但仅当我尝试创建远程运行空间时。

SessionStateProxy属性应该是System.Management.Automation.RemoteSessionStateProxy但它是$null。有什么线索吗?

0 投票
1 回答
459 浏览

c# - C#异步调用PowerShell但只导入一次模块

我正在尝试找出一种为 20-30 个文件异步调用 Powershell cmdlet 的有效方法。尽管下面的代码可以正常工作,但 Import-Module 步骤会针对每个处理的文件运行。不幸的是,这个模块需要 3 到 4 秒才能导入。

在网上搜索我可以找到对 RunspacePools 和 InitialSessionState 的引用,但在尝试创建 CreateRunspacePool 重载中所需的 PSHost 对象时遇到了问题。

任何帮助,将不胜感激。

谢谢

加文

.

.

我的应用程序中的代码示例:

我正在使用 Parallel ForEach 在线程之间分配文件。

0 投票
0 回答
235 浏览

multithreading - 这是 PowerShell 运行空间的良好实现吗?

我的 PowerShell 脚本中有三个组件。我为每个使用一个运行空间:核心、GUI 和计时器。

Core 用于执行某些操作,GUI 用于显示 core 中的操作是否已完成,并且 core 中的一项操作需要计时器。

我不确定这是一个干净/好的解决方案......因为我需要用 write-host 写一些信息并在这些运行空间之间交换一些信息。如果没有,你能告诉我更好的方法吗?

编辑 :

图形用户界面线程:

定时器线程

0 投票
0 回答
234 浏览

c# - 同步变量不适用于远程运行空间

下面的代码将演示 Runspaces 的 Synchronized 变量的用法。您可以为 $ComputerName 使用任何 ip/主机名,只要它可以访问,Powershell 远程处理由 Enter-PSSession 验证,并且您将 $ComputerName 的凭据添加到 Windows 凭据管理器作为主机。

一旦我更换:

(因为我想在远程计算机上执行代码),同步变量 $hash 没有更新。有人知道我错过了什么吗?此功能非常重要且有用,我需要它才能使其适用于远程运行空间。

0 投票
1 回答
95 浏览

powershell - RunSpacePool 重启电脑不记录成功

我正在编写一个脚本,该脚本将在稍后使用任务计划程序中安排的以下脚本重新启动服务器列表。

该脚本使用 RunSpacePools 处理多个服务器,但似乎发生的是我的脚本未能记录成功重新启动。

我检查了使用此脚本重新启动的服务器,并发现来自 USER32 的事件 ID 1074 记录了 Shutdown/Restart 事件,但我为记录保存而创建的日志显示 Reboot Failed。

我只是不确定如何开始解决这个问题。任何帮助表示赞赏!

0 投票
1 回答
2412 浏览

powershell - 带有运行空间池的 SessionStateProxy 变量

我想在 PowerShell 中使用运行空间池来执行后台操作。但我需要从主线程访问 WPF 窗口变量。

普通运行空间有以下选项:

但是我如何对 RunspacePool 做同样的事情呢?

0 投票
1 回答
251 浏览

user-interface - 如何在 Powershell GUI 中添加来自不同运行空间的标签?

在我的 Powershell GUI 中,我有两种模式:连接和断开连接。每个步骤都有一个步骤列表。此列表从 xml 读取,然后加载到流程布局面板中,作为每个步骤的标签。因此,如果我有 8 个连接步骤,我将在 flowlayout 面板中创建 8 个标签。

我希望在模式更改时动态更改标签。如果我处于连接模式并进入断开模式,我需要从函数运行空间加载流程布局面板中的相关步骤

在我的脚本中,我有三个运行空间(一个用于 GUI,一个用于功能,一个用于计时器)。

在 Gui 运行空间中,PanelLabelInner(流程布局面板)被包装到 PanelLabelOuter 中。这是为了垂直居中。我需要将标签添加到 PanelLabelInner 中。

我需要完成 BUiltXML 函数。首先,在模式更改时删除所有标签,然后更新 ui 以显示新标签:我该怎么做?

使用此代码,没有添加任何内容,我想我必须使用更新,刷新之类的东西......

桂运行空间:

函数运行空间