PowerShell可以自动化吗?即PowerShell的COM接口(interface)可以作为类型库接口(interface)导入到Delphi中以使其自动化,如果可以,相关的文件名是什么?

谷歌搜索等等,我在PowerShell脚本中找到了许多有关自动化操作的引用,但是我无法找到任何东西来说明我是否可以通过COM控制PowerShell本身,因为它可以是MS Word或等等,并可能从中接收事件。我想要做的是从Delphi应用程序中向它发出命令,以执行一些任意CmdLet并在执行脚本时从中获取状态信息(否则,我将对它执行ShellExecute)。

我不确定是否能够找到任何事实是因为PowerShell在设计上是不可自动化的,还是因为我没有设法构建有效的查询来过滤掉所有可以使用PowerShell作为工具进行的自动化操作脚本主机。

这是在Win7 64位或其Win10升级btw上使用XE8。

最佳答案

详细阐述RaelB对http://delphidabbler.com/software/consoleapp的建议:

这对我有用,因为Powershell本身可以作为控制台应用程序运行。如果要运行CmdLet“abc -param”,则可以调用TPJConsoleApp实例的Execute方法:



彼得·约翰逊(delphiDabbler)提供了几个示例,这些示例通过管道,文件等与控制台应用程序进行交互,以从Cmdlet的stdOut(还可以使用stdIn和stdErr)获取状态信息。可以从最合适的示例中快速得出工作代码。

(可选)您可能希望为powershell提供其他参数:

https://msdn.microsoft.com/en-us/powershell/scripting/core-powershell/console/powershell.exe-command-line-help

10-07 13:36
查看更多