общение с сервером OLE Automation (IDispatch) из PowerShell - PullRequest
1 голос
/ 24 марта 2012

Мне интересно общаться с сервером OLE Automation (IDispatch) из Windows Powershell.Может кто-нибудь указать мне на простой пример кода, который иллюстрирует это?Я знаю, что могу использовать New-Object -com My.App.Interface, чтобы создать объект, но тогда разговор с ним - это другое дело.В данном случае это интерфейс OLE Automation (IDispatch), поэтому я не просто вызываю методы прямо для возвращаемого объекта, я вызываю метод Invoke IDispatch.

Так что, в любом случае, просто интересноможете указать мне несколько примеров для этого, которые я могу использовать в качестве отправной точки.

Ответы [ 2 ]

1 голос
/ 24 марта 2012
$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>)
0 голосов
/ 24 марта 2012

Я бы порекомендовал использовать Get-Member, чтобы обдумать объект и выяснить, какие методы вам доступны.У вас есть дополнительная информация о том, о каком конкретном COM-объекте мы говорим здесь?Это что-то встроенное в Windows или сторонний COM-объект?

...