我正在尝试编写一个可以访问第三方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的方法和功能吗?欢迎任何建议或示例代码。提前谢谢。
答案 0 :(得分:0)
感谢您的回复。 @ Ekkehard.Horner给出的链接有效。这真的拯救了我的一天。
现在的工作代码是:
$credential = "...", "...", "...", "..."
[System.__ComObject].InvokeMember("Logon", [System.Reflection.BindingFlags]::InvokeMethod, $null, $netiqObj, $credential)