1

我正在尝试将 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 服务错误(以及痛苦的超时)

4

1 回答 1

2

尝试设置ADPS_LoadDefaultDrive为环境变量,而不是常规会话变量。

于 2012-09-06T11:11:40.160 回答