2012-08-06 6 views
0

IIS 서비스가 Windows Server 2008에서 실행 중이고 Windows 7 컴퓨터에서 IIS 서비스를 다시 설정하려고합니다.C# .Net 코드를 사용하여 IIS를 원격으로 재설정하는 방법은 무엇입니까?

어떻게 C# .Net 코드를 사용하여 IIS를 원격으로 재설정합니까?

Microsoft.Web.Administration을 사용해 보았지만 연결할 원격 서버 세부 정보를 허용하지 않습니다.이 목적으로 사용할 수있는 다른 API는 무엇입니까?

+3

여기에 답변 된 질문을보십시오. http://stackoverflow.com/questions/6675255/iisreset-on-remote-machine-c – anAgent

답변

2

특정 웹 사이트 이름이있는 경우 WMI를 사용하여 해당 웹 사이트를 중지하고 시작할 수 있습니다. 전체적으로 IIS라면 IIS WMI 공급자에게이 작업을 수행 할 수있는 기능이 있다고 확신합니다. 여기서는 WebAdministration을 사용하여 IIS에서 웹 사이트를 관리하지만 MicrosoftIISV2도 있습니다. Google for WmiExplorer에는 좋은 것들이 몇 가지 있습니다.

 var connOptions = new ConnectionOptions(); 
     connOptions.Authentication = AuthenticationLevel.PacketPrivacy; 
     // if you want to connect as someone other than logged in user 
     //connOptions.Username = username; 
     //connOptions.Password = password; 

     var scope = new ManagementScope("\\localhost\WebAdministration", connOptions); 

     WqlObjectQuery query = new WqlObjectQuery(`enter code here`string.Format("SELECT * FROM Site WHERE Name = '{0}'", "Default Web Site")); 

     using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) 
     { 
      foreach (ManagementObject site in searcher.Get()) 
      { 
       ManagementBaseObject inParams = site.GetMethodParameters("Stop"); 
       site.InvokeMethod("Stop", inParams, null); 

       ManagementBaseObject inParams2 = site.GetMethodParameters("Start"); 
       site.InvokeMethod("Start", inParams2, null); 
      } 
     } 
관련 문제