我正在尝试将 ActiveDirectory 模块加载到我正在处理的自定义 SnapIn 中。但是,当我这样做时,我会遇到烦人的错误
“初始化默认驱动器时出错:'找不到运行 Active Directory Web 服务的默认服务器。'”
超时需要 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);
}
}
我已经包含了我认为应该工作的内容,但是 ADPS_LoadDefaultDrive 设置似乎被忽略了,因为每次我尝试调用 ActiveDirectory 模块时,我都会收到相同的 Web 服务错误(以及痛苦的超时)