问题标签 [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 投票
1 回答
1666 浏览

c# - PowerShell 运行空间到 Exchange 在线预算超出错误

我有一个以编程方式在 Exchange Server 上调用 PowerShell 命令的应用程序。将应用程序连接到 Exchange 在线服务器 outlook.office365.com 成功,并且可以调用单个命令,但是在短时间内按顺序发送多个命令,服务器会阻塞并回复以下消息。
我尝试使用 runspace.Close 和 runspace.Dispose,但没有效果。
从下面的消息中,我看到在 60 秒内最多有 5 个运行空间,但是使用我的代码,我正在关闭和处理运行空间,这个限制不应该是问题。当然,我总是有可能做错了什么。

消息(一些文本被点掩盖):

这是简化的代码(实际更复杂,但基本上就是这样):

感谢您的任何意见。

鲍里斯

0 投票
1 回答
637 浏览

c# - 运行空间 pipeline.invoke 在循环中

我正在制作一个应用程序来收集大量交换数据并将其放入一个漂亮的界面中。到目前为止它运行良好,但是我遇到了一个问题,我无法弄清楚。我怀疑这与我尝试在循环中调用管道这一事实有关。这是我得到的错误:

找不到接受参数“项目”的位置参数。

这是我的代码:

它在 pipe2.invoke() 上出错,出现我上面提到的错误。我已经处理了一个以前打开的管道。

我希望有人可以为我提供解决方案。

0 投票
0 回答
286 浏览

c# - 从 C# 中的多个 PowerShell 脚本调用外部函数

我有一个 C# 应用程序,它在将它们作为字符串从数据库中读取后运行 PowerShell 脚本。假设script1和是从数据库读取的脚本script2utilityfunctions

无论如何我可以调用函数utilityFuntionsfromscript1吗?我尝试过使用$MyInvocation并查看它的属性,但没有发现任何有用的东西。在浏览ps.Commands属性时,我当然可以看到两个项目,但是在浏览脚本中的命令时,我无法访问utilityFunctions. 我想我可以读取所有脚本并将它们连接为字符串并且只传递一个脚本,但我只是想知道是否有一种方法可以在没有字符串连接的情况下做到这一点。

0 投票
1 回答
3036 浏览

visual-studio-2010 - 远程处理时通过 powershell 脚本访问 UNC 路径时出错

我正在尝试在 power shell 脚本中执行一个程序。正在使用运行空间从 C# 方法调用 PS 脚本。该程序尝试更新远程服务器上的配置文件。当我运行这整个事情时,我收到以下错误:

System.UnauthorizedAccessException:对路径 \\some 路径的访问被拒绝。

PS 脚本位于远程服务器上。如果我直接在服务器上运行 PS 脚本,那么 PS 脚本和其中的程序运行良好并且能够访问远程系统。

有没有人遇到过这个?有人告诉我这是失败的,因为我通过 Visual Studio 和 C# 运行它,并且不允许我通过通过 C# 类运行的 powershell 脚本访问网络资源。其他人告诉我,我用于在运行空间中启动 PS 脚本的权限并未转换为我在脚本中调用的程序。

其他想法和可能的解决方案?

谢谢

0 投票
1 回答
265 浏览

.net - 如何将嵌入式 PowerShell 运行空间公开给远程处理

我有一个 ASP.Net 应用程序,它可以运行嵌入式运行空间,为此我构建了相当广泛的 PowerShell 功能,包括:

  • 交互式控制台和类似 ISE 的 Web 基础 UI
  • 一些暴露应用程序功能和管理的命令行开关
  • 用于浏览应用程序内容的 PS 驱动器提供商……等等。

问题是我需要 Windows PowerShell 控制台可以访问该功能才能构建脚本或配置脚本等,因此我需要通过 PowerShell 远程处理在外部公开这样的嵌入式运行空间。我知道 PowerShellTunnel 和在此之前的远程处理程序的存在,但这些解决方案是有限的。我需要将此类运行空间的全部功能公开给外部脚本,例如在交互模式下,我对 Web/应用内交互进行了排序。但要获得完整的故事,我需要远程处理部分。

有没有人这样做过,您能否指出我可以找到如何启用远程(甚至本地)Windows Powershell 控制台以能够创建与我的应用程序的正确连接的方向?

0 投票
2 回答
2086 浏览

c# - 自定义 PSHostUserInterface 被 Runspace 忽略

的背景

我正在编写一个以编程方式执行 PowerShell 脚本的应用程序。此应用程序有一个自定义PSHost实现以允许脚本输出日志记录语句。目前,我看到的行为是一些请求被正确转发给我的自定义PSHost,而其他请求则被完全忽略。

当我开始检查脚本中的变量时,事情变得更加奇怪$Host,这似乎表明我的自定义PSHost甚至没有被使用。

编码

我有一些在 .NET 应用程序中执行 PowerShell 的代码:

的实现CustomPsHost非常少,仅包含转发所需的内容PSHostUserInterface

CustomPsHostUI 用作日志记录的包装器:

在我的 PowerShell 脚本中,我试图将信息写入主机:

为什么我会出现奇怪的行为CustomPSHostUI

0 投票
1 回答
908 浏览

c# - 是否应该关闭远程 Powershell 会话?

我正在编写一个 C# 服务器应用程序,除其他外,它调用 Exchange 服务器上的多个远程 Powershell cmdlet。这不是我的应用程序的主要活动,但偶尔会调用这些函数。当他们这样做时,我会执行以下操作:

  1. 从我的配置中初始化 WSManConnectionInfo 对象。
  2. 使用 . 创建一个新的运行空间RunspaceFactory.CreateRunspace
  3. 打开运行空间。
  4. 将运行空间分配给一个新PowerShell对象。
  5. 调用我的命令。
  6. 处置PowerShellRunspace对象。

现在,真的需要为每次通话都完成所有这些步骤吗?假设可能每分钟、每小时甚至每天一次打一个电话,我并不担心性能。但是我正在寻找一个整洁的解决方案,并且想知道创建一个 Runspace 对象并一次又一次地调用它是否会更优雅。

重用 Runspace 对象并使其保持打开状态是否存在问题?Close()我是否应该让对象保持活动状态,但Open()在需要时调用它?或者我不应该依赖它随着时间的推移保持稳定(这里的“随着时间”是服务器应用程序的生命周期,可能(并且应该)是几个月。

0 投票
2 回答
1258 浏览

c# - 如何添加多个电子邮件地址?

下面是我正在使用的代码。我无法使用 powershell Emailaddresses 参数添加多个地址。如果我只输入一个电子邮件地址,该代码就可以正常工作,但是一旦我在下面的代码中添加两个地址,它就会返回异常,指出无效的 smtp 地址。

0 投票
1 回答
4222 浏览

c# - 如何在 Windows 窗体应用程序中运行 PowerShell 命令?

我目前正在尝试在我的 c# forms 应用程序中实现以下 ps 命令。

我正在使用 Quest Powershell cmdlet

我拥有的 powershell 命令可以工作,但我无法让下面的代码工作。找不到命令 抛出异常“Get-QADMemberOf 术语未被识别为 cmdlet 的名称。

0 投票
2 回答
1139 浏览

c# - 通过提供 Web 代理服务器的 IP 地址和端口来打开 Remote Runspace

我正在用 C# 编写一个 .Net 组件,它需要为 Exchange Online 打开远程 Powershell 连接以执行 cmdlet。但是,在本地计算机和 Internet 之间有一个 Web 代理服务器。我没有在 IE 中提供代理服务器设置。在打开远程运行空间时,我需要以某种方式提供 Web 代理服务器的 IP 地址和端口号。

我正在使用以下代码:

我应该在 Runspace 对象的 RunspaceconnectionInfo 的 ProxyAccessType、ProxyCredentials、ProxyAuthentication 属性中提供什么。

有没有办法通过提供 Web 代理服务器设置来打开远程运行空间,而无需在 IE 中进行代理设置。我想通过我的应用程序中的用户界面将代理服务器 ip 和端口传递给我的 api

请建议。

谢谢,加根