Я не уверен, возможно ли это с PowerShell.
Но в основном у меня есть программа Windows Forms , которая настраивает программу под названием EO Server. У сервера 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.