public IISWebServer GetWebServer(string sWerServerName) { DirectoryEntry directoryEntry3; IISWebServer iISWebServer = null; IEnumerator iEnumerator1 = new DirectoryEntry("IIS://localhost/W3SVC").Children.GetEnumerator(); try { while (iEnumerator1.MoveNext()) { var directoryEntry2 = (DirectoryEntry) iEnumerator1.Current; if (directoryEntry2.SchemaClassName == "IIsWebServer" && ((String) directoryEntry2.Properties["ServerComment"].Value).Equals(sWerServerName)) { iISWebServer = new IISWebServer { iID = Convert.ToInt32(directoryEntry2.Name), sServerName = (String) directoryEntry2.Properties["ServerComment"].Value }; directoryEntry3 = new DirectoryEntry(String.Concat("IIS://localhost/W3SVC/", iISWebServer.ID, "/Root")); iISWebServer.sRootPath = directoryEntry3.Properties["Path"][0] as String; var iEnumerator2 = directoryEntry3.Children.GetEnumerator(); try { while (iEnumerator2.MoveNext()) { var directoryEntry4 = (DirectoryEntry) iEnumerator2.Current; if (directoryEntry4.SchemaClassName.ToUpper() != "IIsWebVirtualDir".ToUpper()) continue; var iISWebVirtualDirectory = new IISWebVirtualDirectory { _sPath = (String) directoryEntry4.Properties["Path"][0], _sName = directoryEntry4.Name, _isApplication = (String) directoryEntry4.Properties["AppRoot"][0] != String.Concat("/LM/W3SVC/", iISWebServer.ID, "/ROOT"), _iWebServerID = iISWebServer.ID }; AddWebDirectories(directoryEntry4, String.Concat("/", iISWebVirtualDirectory._sName), iISWebVirtualDirectory.WebDirectories, iISWebServer.ID, iISWebVirtualDirectory._sPath); iISWebServer.VirtualDirectories.Add(iISWebVirtualDirectory); } } finally { var iDisposable = iEnumerator2 as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } AddWebDirectories(directoryEntry3, "", iISWebServer.WebDirectories, iISWebServer.ID, iISWebServer.RootPath); directoryEntry3.Dispose(); break; } } } finally { var iDisposable = iEnumerator1 as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } return iISWebServer; }
public IISWebServerCollection GetWebServers() { var iISWebServerCollection = new IISWebServerCollection(); IEnumerator iEnumerator1 = new DirectoryEntry("IIS://localhost/W3SVC").Children.GetEnumerator(); try { while (iEnumerator1.MoveNext()) { var directoryEntry2 = (DirectoryEntry) iEnumerator1.Current; if (directoryEntry2.SchemaClassName != "IIsWebServer") continue; var iISWebServer = new IISWebServer { iID = Convert.ToInt32(directoryEntry2.Name), sServerName = (String) directoryEntry2.Properties["ServerComment"].Value }; var directoryEntry3 = new DirectoryEntry(String.Concat("IIS://localhost/W3SVC/", iISWebServer.ID, "/Root")); iISWebServer.sRootPath = directoryEntry3.Properties["Path"][0] as String; IEnumerator iEnumerator2 = directoryEntry3.Children.GetEnumerator(); try { while (iEnumerator2.MoveNext()) { var directoryEntry4 = (DirectoryEntry) iEnumerator2.Current; if (directoryEntry4.SchemaClassName.ToUpper() == "IIsWebVirtualDir".ToUpper()) { var iISWebVirtualDirectory = new IISWebVirtualDirectory { _sPath = (String) directoryEntry4.Properties["Path"][0], _sName = directoryEntry4.Name, _isApplication = (String) directoryEntry4.Properties["AppRoot"][0] != String.Concat("/LM/W3SVC/", iISWebServer.ID, "/ROOT"), _iWebServerID = iISWebServer.ID }; iISWebServer.VirtualDirectories.Add(iISWebVirtualDirectory); } } } finally { var iDisposable = iEnumerator2 as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } iISWebServerCollection.Add(iISWebServer); } } finally { var iDisposable = iEnumerator1 as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } return iISWebServerCollection; }
public IISFTPServerCollection GetFTPServers() { var iISFTPServerCollection = new IISFTPServerCollection(); IEnumerator iEnumerator = new DirectoryEntry("IIS://localhost/MSFTPSVC").Children.GetEnumerator(); try { while (iEnumerator.MoveNext()) { var directoryEntry2 = (DirectoryEntry) iEnumerator.Current; if (directoryEntry2.SchemaClassName == "IIsFtpServer") { var iISFTPServer = new IISFTPServer { iID = Convert.ToInt32(directoryEntry2.Name), sServerName = (String) directoryEntry2.Properties["ServerComment"].Value, bAllowAnonymous = (bool) directoryEntry2.Properties["AllowAnonymous"].Value, sGreetingMessage = (String) directoryEntry2.Properties["GreetingMessage"].Value, sExitMessage = (String) directoryEntry2.Properties["ExitMessage"].Value, sMaxClientsMessage = (String) directoryEntry2.Properties["MaxClientsMessage"].Value, iMaxConnections = (int) directoryEntry2.Properties["MaxConnections"].Value }; var directoryEntry3 = new DirectoryEntry(String.Concat("IIS://localhost/MSFTPSVC/", iISFTPServer.ID, "/Root")); iISFTPServer.sRootPath = directoryEntry3.Properties["Path"][0] as String; iISFTPServerCollection.Add(iISFTPServer); } } } finally { var iDisposable = iEnumerator as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } return iISFTPServerCollection; }