PowerShellでこれが可能かどうかはわかりません。
しかし基本的に、EO Serverというプログラムを構成する Windows Forms プログラムがあります。 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 Formsアプリケーションで行うのと同じタイプの呼び出しを行うことは可能ですか?
はい、次のことができます。
Add-Type -Path $customDll
$a = new-object custom.type
次のような静的メソッドを呼び出します。
[custom.type]::method()
Add-Typeの代わりに、リフレクションを使用することもできます。
[Reflection.Assembly]::LoadFile($customDll)
(上記でもReflectionライブラリとLoadFile静的メソッドを呼び出していることに注意してください。)
ブログの投稿を見てくださいカスタムを読み込むDLL PowerShellから)。 .NETのオブジェクトとやり取りできる場合は、おそらくPowerShellでも実行できます。
実際、提供されている他のソリューションは私には機能しません。ここでは、私にとって完全に機能する代替手段です。
$AssemblyPath = "C:\SomePath\SomeLIB.dll"
$bytes = [System.IO.File]::ReadAllBytes($AssemblyPath)
[System.Reflection.Assembly]::Load($bytes)