PowerShellを初めて使用し、C#でPowerShellコマンドレットを実行しています。具体的には、CitrixのXenDesktop SDKを使用して、XenDesktop環境を管理するWebアプリを作成しようとしています。
簡単なテストと同じように、Citrix BrokerSnapIn.dllを参照しました。これは、優れたC#クラスを提供しているように見えます。ただし、このエラーメッセージで.Invokeを押すと、「PSCmdletから派生したコマンドレットを直接呼び出すことはできません。」
たくさんのことを検索して試しましたが、PSCmdletsの呼び出し方法がわかりません。これを行うには、文字列やランスペース/パイプラインなどを使用する必要があると思います。
アドバンスト、NBに感謝
using System;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using Citrix.Broker.Admin.SDK;
namespace CitrixPowerShellSpike
{
class Program
{
static void Main(string[] args)
{
var c = new GetBrokerCatalogCommand {AdminAddress = "xendesktop.domain.com"};
var results = c.Invoke();
Console.WriteLine("all done");
Console.ReadLine();
}
}
}