Windows - Taler til en OLE Automation (IDispatch) server fra PowerShell

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er interesseret i at kommunikere med en OLE Automation (IDispatch) -server fra Windows Powershell. Kan nogen pege på en simpel prøvekode, der illustrerer at gøre dette? Jeg ved, at jeg kan bruge New-Object-com My.App.Interface til at oprette objekt, men det er en anden sag at tale med det. I dette tilfælde er det en OLE Automation (IDispatch) grænseflade, så jeg 'r ikke bare kalder metoder direkte på det returnerede objekt, jeg ringer til Invoke-metoden for IDispatch.


Så alligevel undrer jeg mig over, om nogen kan pege på nogle eksempler for at gøre dette, som jeg kan bruge som udgangspunkt.

Bedste reference


$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>)

Andre referencer 1


Jeg vil anbefale at bruge Get-Member til at reflektere over objektet og finde ud af, hvilke metoder der er tilgængelige for dig. Har du yderligere oplysninger om hvilket specifikt COM-objekt vi taler om her? Er det noget indbygget i Windows eller en tredje part COM-objekt?