我正在尝试将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服务错误(以及痛苦的超时)
答案 0 :(得分:2)
尝试将ADPS_LoadDefaultDrive
设置为环境变量,而不是常规会话变量。