远程PowerShell调用中的性能问题

时间:2016-09-02 21:58:02

标签: c# powershell

我有一个在Hyper-V主机上运行的代理,该主机应该运行我要求它从远程系统运行的自定义PowerShell cmdlet。我观察到的是,当我RDP到主机并在powershell窗口上执行它时,自定义PowerShell cmdlet花费的时间非常少。但是当从代理调用它时,执行时间大约需要10倍。

代理创建PowerShell对象并使用AddScript方法将要执行的脚本添加到它,最后执行BeginInvoke然后循环,直到异步调用的结果已完成(asynccmd.IsCompleted)。命令完成需要很长时间。我不确定为什么要花时间,因为我已经确认手动运行该命令不会花费那么多时间。

  1. 我可以通过哪些方式调试此内容?
  2. 这是一个知道问题还是类似的东西?
  3. 是否有更好的方法可以在主机上调用PowerShell cmdlet?
  4. 非常感谢任何帮助。我没有共享代码,因为我不确定它会有什么帮助,因为我得到的结果很好。如果您有任何疑问,请告诉我。在此先感谢您的帮助。

    编辑:让问题更清晰。

    因此代理程序是用C#编写的,并且作为Windows服务运行。从该Windows服务创建Powershell对象,并使用异步运行的BeginInvoke调用调用该命令,这是我认为需要时间的函数。我想我可以使用windbg进行调试,但我并不完全确定。

0 个答案:

没有答案