从PowerShell与OLE自动化(IDispatch)服务器通信

时间:2012-03-24 03:15:34

标签: windows powershell ole-automation

我有兴趣与Windows Powershell中的OLE自动化(IDispatch)服务器进行通信。有人能指出一些简单的示例代码来说明这样做吗?我知道我可以使用New-Object -com My.App.Interface来创建对象,但随后与它交谈则是另一回事。在这种情况下,它是一个OLE自动化(IDispatch)接口,所以我不只是在返回的对象上调用方法,我正在调用IDispatch的Invoke方法。

所以,无论如何,只是想知道是否有人可以指点我做一些样本,我可以用作起点。

2 个答案:

答案 0 :(得分:1)

$a=new-object -com ....
[System.__ComObject].invokemember(<Method>,[System.Reflection.BindingFlags]::invokeMethod,$null,$a,<args>)
[System.__ComObject].invokemember(<Property>,[System.Reflection.BindingFlags]::GetProperty,$null,$a,<args>)

答案 1 :(得分:-1)

我建议使用Get-Member来反映对象并发现可用的方法。您是否有关于我们在这里谈论的特定COM对象的其他信息?它是内置于Windows中的内容还是第三方COM对象?