【问题标题】:How to use PowerShell to access methods and properties of a Third-Party OLE DLL?如何使用 PowerShell 访问第三方 OLE DLL 的方法和属性?
【发布时间】:2014-05-02 15:47:30
【问题描述】:

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

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

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

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

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

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

   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 的方法和属性吗?欢迎任何建议或示例代码。提前谢谢你。

【问题讨论】:

标签: powershell vbscript com ole


【解决方案1】:

感谢两位的友好回复。 @Ekkehard.Horner 提供的链接有效。它真的拯救了我的一天。

现在的工作代码是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多