作業中のカスタムSnapIn内にActiveDirectoryモジュールを読み込もうとしています。しかし、そうすると迷惑なエラーが発生します
「デフォルトドライブの初期化中にエラーが発生しました:'ActiveDirectoryWebサービスが実行されているデフォルトサーバーが見つかりません。'」
タイムアウトするまでに15秒ほどかかります。通常のPowerShellコンソール内から、AD:ドライブマッピングを無効にする変数を設定できることに気付きましたが、C#コード内からはそれを機能させることができないようです。
InitialSessionState initial = InitialSessionState.CreateDefault();
initial.Variables.Add(new SessionStateVariableEntry("ADPS_LoadDefaultDrive",
0,
string.Empty));
initial.ImportPSModule(new string[] { "ActiveDirectory" });
using (Runspace runspace = RunspaceFactory.CreateRunspace(initial))
{
runspace.Open();
using (Pipeline p = runspace.CreatePipeline())
{
Command getGroup = new Command("Get-ADGroup");
getGroup.Parameters.Add("Filter", this.Group);
p.Commands.Add(getGroup);
var results = p.Invoke();
this.WriteObject(results, true);
}
}
動作するはずのものを含めましたが、ActiveDirectoryモジュールを呼び出そうとするたびに、同じWebサービスエラーが発生するため、ADPS_LoadDefaultDrive設定は無視されているようです(痛みを伴うタイムアウトもあります)。