2012-09-06 4 views
1

현재 작업중인 사용자 지정 SnapIn에서 ActiveDirectory 모듈을로드하려고합니다. 내가 그렇게 할 때, 나는 성가신 오류를AD 드라이브 문자없이 Runspace에서 ActiveDirectory PowerShell 모듈로드

"오류 초기화 기본 드라이브 '의 Active Directory 웹 서비스가 실행하는 기본 서버 를 찾을 수 없습니다."얻을 좋은 소요

을 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 설정이 내가 고통과 함께 (같은 웹 서비스 오류를 얻을 액티브 디렉토리 모듈에 전화를하려고 할 때마다 무시 것으로 보인다해야 내가 생각 포함했다 시간 초과)

답변

2

ADPS_LoadDefaultDrive을 일반 세션 변수가 아닌 환경 변수로 설정하십시오.

+0

그랬습니다. PowerShell 실행 영역 내에서 환경 변수를 설정해야한다는 생각을 계속했습니다. 전체 환경에서는 그렇지 않습니다. Environment.SetEnvironmentVariable ("ADPS_LoadDefaultDrive", "0"); – Flesrouy

+0

및 Windows Server 2008r2에서 어떻게 수행 할 수 있습니까? 내 클라이언트에서 그것은 작동하지만 II7에 대한 2008r2에서 나는 권한이 없다고 말합니다. ( – Tarasov

+0

ADPS_LoadDefaultDrive는 IIS가 아니라 AD 모듈과 관련이 있습니다. 어쨌든 관리자 권한으로 PowerShell을 열어보십시오. . –

관련 문제