このサイトに新しいことを尋ねるのに適切な場所です:)Visual Studio 2017 C#立ち上げpowershellスクリプト
新しいユーザー作成のためにVisual StudioでGUIを作成しました。コードの一部は、ユーザ作成のために使用していたPowershellスクリプトを呼び出します。
GUIがすべて動作するので、CSVファイルを作成してからPowershellスクリプトを起動することができます。
私が気づく問題は、Powershellスクリプトの一部がExchange 2007スナップインを読み込むことです。何らかの理由で、GUIを使ってスクリプトを実行すると、プラグインが見つからないというエラーが表示されます。
基本的にPowershellを起動するコードは次のとおりです。今、私はので、私はそれについて間違った道を進んですることができ、それが混乱の笑のビットであるかもしれない全くコーダないよ:)
Process p = new Process();
p.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
// Redirect the output stream of the child process.
p.StartInfo.CreateNoWindow = false; (false for testing)
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = false; //(false for testing)
p.StartInfo.RedirectStandardOutput = false; //(false for testing)
p.StartInfo.RedirectStandardError = false; //(false for testing)
p.StartInfo.LoadUserProfile = true;
p.StartInfo.FileName = "This points to a file on a network share" @"\\server\folder\file";
p.Start();
p.BeginOutputReadLine();
上のボタンをクリックした後に起こるとに出力されます私はそれがすべて働いているGUI内のテキストボックス。しかし、今のところ私は物事の側面を無効にしてPowershellのエラーを見ることができます。
「Microsoft.exchange.management.powershell.admin」を次のように
だからPowerShellでのエラーメッセージは、私は手動でスクリプトを実行した場合
しかし、再び、このコンピュータにインストールされていないですGUIがなければ正常に動作します。 GUIのように、実行中のコンピュータにアクセスできないクローズドな環境でGUIを起動しています。私はC#アプリケーションを作成することについて実際には考えていないので、何か単純なものが欠けていると思っています。
私はテストとして、ローカルコンピュータに移動するが、それがないように、同じ問題を取得しようとしたように、PowerShellスクリプトをネットワーク共有に位置していたが私が作った小さなGUIプログラムは、独自のインスタンスで実行されていて、ローカルユーザーのレジストリ設定にアクセスできないため、Exchangeスナップインをロードできないようです。 – MichaelS