2012-09-06 17 views
1

我正在嘗試在我正在處理的自定義管理單元中加載ActiveDirectory模塊。然而,當我這樣做,我得到了惱人的錯誤在沒有AD驅動器的運行空間中加載ActiveDirectory PowerShell模塊Letter

「錯誤初始化默認驅動器:「無法找到與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服務的錯誤(與痛苦隨着時間超時)

回答

2

嘗試將ADPS_LoadDefaultDrive設置爲環境變量,而不是常規會話變量。

+0

這樣做。我一直在想,我應該在PowerShell運行空間內以某種方式設置一個環境變量,而不是在整個「環境」中設置Environment.SetEnvironmentVariable(「ADPS_LoadDefaultDrive」,「0」); – Flesrouy

+0

以及我如何在Windows Server 2008r2上執行此操作?在我的客戶端上它可以工作,但是在IIR上的2008r2上它說我沒有權利:( – Tarasov

+0

不確定我關注你,ADPS_LoadDefaultDrive與AD模塊相關,而不是IIS。無論如何,嘗試以管理員身份打開PowerShell 。 –

相關問題