如何使用PowerShell访问第三方OLE DLL的方法和属性? [英] How to use PowerShell to access methods and properties of a Third-Party OLE DLL?

查看:68
本文介绍了如何使用PowerShell访问第三方OLE DLL的方法和属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写一个PowerShell脚本,该脚本可以访问第三方OLE DLL的方法和属性.

I am trying to write a PowerShell script which could access methods and properties of a third-party OLE DLL.

软件供应商在vbscript中提供了一个工作示例,以实现相同的结果.以下是代码摘录:

The software vendor provided a working example in vbscript to achieve the same result. Below is an excerpt of the codes:

Set objOLE = CreateObject("NETIQOLE.APPMANAGER")
objOLE.Logon strInstance, strRepository, strUserID, strPwd
...

但是,当我尝试在PowerShell中进行如下编码时:

However, when I tried to code in PowerShell as below:

$objOLE = New-Object -ComObject "NETIQOLE.APPMANAGER"
$objOLE | Get-Member

我在下面得到了输出,没有看到任何相关的方法或属性.

I got output below and didn't see any relevant method or property.

   TypeName: System.__ComObject

Name                      MemberType Definition                                                     
----                      ---------- ----------                                                     
CreateObjRef              Method     System.Runtime.Remoting.ObjRef CreateObjRef(type requestedType)
Equals                    Method     bool Equals(System.Object obj)                                 
GetHashCode               Method     int GetHashCode()                                              
GetLifetimeService        Method     System.Object GetLifetimeService()                             
GetType                   Method     type GetType()                                                 
InitializeLifetimeService Method     System.Object InitializeLifetimeService()                      
ToString                  Method     string ToString() 

我可以做些什么来访问此OLE Dll的方法和属性吗?欢迎任何建议或示例代码.预先谢谢你.

Is there anything I can do to access to this OLE Dll's methods and proerties? Any advice or sample codes are welcome. Thank you in advance.

推荐答案

感谢你们双方的亲切回应. @ Ekkehard.Horner提供的链接有效.真的可以挽救我的一天.

Thank you both for your kind responses. The link given by @Ekkehard.Horner worked. It really save my day.

现在的工作代码为:

$credential = "...", "...", "...", "..."
[System.__ComObject].InvokeMember("Logon", [System.Reflection.BindingFlags]::InvokeMethod, $null, $netiqObj, $credential)

这篇关于如何使用PowerShell访问第三方OLE DLL的方法和属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆