因为当前主机没有实现此功能,所以无法调用该函数。

3

使用这里的程序:http://www.codeproject.com/Articles/18409/Asynchronously-Execute-PowerShell-Scripts-from-C

我遇到了错误: Error in Script: System.Management.Automation.CmdletInvocationException: Cannot invoke this function because the current host does not implement it. ---> System.Management.Automation.Host.HostException: Cannot Invoke this function because the current host does not implement it.

当我使用一个本地服务器bin中的脚本时,例如只需要输入以下命令:

get-serverlist "property group" ServerRange | CollectPerfData.ps1*


我认为这与添加PSHost、PSHostUserInterface类和PSHostRawUserInterface类有关...但我似乎无法弄清如何将它们添加到程序源代码中。 - Troy Davis
我已经编辑了你的标题。请参考“问题的标题应该包含“标签”吗?”,在那里达成共识是“不应该”。 - John Saunders
2个回答

3

如果您执行需要与主机进程交互的脚本,例如Write-Host、Read-Host,则必须实现主机接口。可以参考此脚本来了解如何实现。


你能指出脚本的哪一部分是相关的吗? - codea

0

最近,当我尝试通过SQL Server代理作业步骤运行PowerShell命令时,我遇到了同样的错误消息。在PowerShell中在主机上运行该命令时,脚本提示我确认。一旦我更新了脚本,不再提示确认,错误就消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接