34

これがPowerShellで可能かどうかはわかりません。

しかし、基本的には、EOサーバーと呼ばれるプログラムを構成するWindowsフォームプログラムがあります。EOサーバーにはAPIがあり、EOServerAPI.dllを参照して、次のコードを実行します。

using EOserverAPI;
...
private void myButton_Click(object sender, EventArgs e)
{
    String MDSConnString="Data Source=MSI;Initial Catalog=EOMDS;Integrated Security=True;";

    //Create the connection
    IEOMDSAPI myEOMDSAPI = EOMDSAPI.Create(MDSConnString);

    //Get JobID
    Guid myMasterJobID = myEOMDSAPI.GetJobID("myJobRocks");
}

API DLLファイルを操作して、Windowsフォームアプリケーションの場合と同じ種類の呼び出しを行うことは可能ですか?

4

4 に答える 4

40

はい、次のことができます。

Add-Type -Path $customDll
$a = new-object custom.type

次のように静的メソッドを呼び出します。

[custom.type]::method()

Add-Type の代わりに、リフレクションを使用することもできます。

[Reflection.Assembly]::LoadFile($customDll)

(上記でも、Reflection ライブラリと LoadFile 静的メソッドを呼び出していることに注意してください。)

于 2011-11-01T20:13:57.323 に答える
12

ブログ投稿Load a Custom DLL from PowerShell をご覧ください。.NET でオブジェクトを操作できる場合は、おそらく PowerShell でも操作できます。

于 2011-11-01T20:09:55.877 に答える
2

c#dll

Add-Type -Path $dllPath
(new-object namespace.class)::Main() #Where namespace=dllnamespace, class=dllclass, Main()=dllstartvoid

情報。名前空間とクラスを取得

$types = Add-Type -Path $dllPath -PassThru
$types | ft fullname
$types

それが「実行可能」なdll(何かget/set dll)でない場合、これは私が知っている最高のものです(サンプルdllの作成では不要です):

https://kazunposh.wordpress.com/2012/03/19/проверка-корректного-ввода-distinguished-name-в-скри/

于 2021-05-15T09:29:32.550 に答える