public static API_IIS7 delete_Website(this API_IIS7 iis7, Site site) { iis7.serverManager.Sites.Remove(site); iis7.commitChanges(); "Deleted Website with Id {0} and name {1}".info(site.Id, site.str()); return(iis7); }
public static API_IIS7 show_IIS_Websites(this API_IIS7 iis7, TreeView treeView) { iis7.loadServerManager(); treeView.clear(); iis7.setup_TreeView_IISView(treeView); try { treeView.add_Node("_Application Pools").add_Nodes(iis7.serverManager.ApplicationPools, true); treeView.add_Node("_Worker Processes(w3wp.exe)").add_Nodes(iis7.serverManager.WorkerProcesses, true); foreach (var site in iis7.serverManager.Sites.toList()) { var sideNode = treeView.add_Node(site.str(), site, true); sideNode.color((site.state() == "Started") ? Color.DarkGreen : Color.Red); } treeView.selectFirst(); } catch (UnauthorizedAccessException uaex) { treeView.add_Node(uaex.Message); treeView.backColor(Color.LightPink); } catch (Exception ex) { "Error: {0} : {1}".error(ex.Message, ex.typeName()); } return(iis7); //mapSites(serverManager.Sites.toList(), sites_TreeView.rootNode()); }
public static Panel show_IIS_Viewer(this API_IIS7 apiIIS) { if (apiIIS.checkIfUserHasEnoughPermissions()) { return(apiIIS.add_IIS_Viewer("Tool- IIS 7.x Viewer".showAsForm())); } return(null); }
public static TreeView show_IIS_Websites_In_TreeView <T>(this API_IIS7 iis7, T control) where T : Control { var treeView = control.clear().add_TreeView(); iis7.show_IIS_Websites(treeView); return(treeView); }
public static Configuration config(this API_IIS7 iis7, Site site) { if (site.notNull()) { return(iis7.serverManager.GetWebConfiguration(site.Name)); } return(null); }
public static Site website(this API_IIS7 iis7, string name) { foreach (var site in iis7.websites()) { if (site.Name == name) { return(site); } } return(null); }
public static bool checkIfUserHasEnoughPermissions(this API_IIS7 iis7) { if (iis7.currentUserHasEnoughPermissions().isFalse()) { if ("It looks like your current account doesn't have the rights to access the IIS data, do you want to try running this script with full priviledges?".askUserQuestion()) { PublicDI.CurrentScript.executeH2_as_Admin(); } return(false); } return(true); }
public static bool currentUserHasEnoughPermissions(this API_IIS7 iis7) { try { iis7.websites(); return(true); } catch (Exception ex) { "[API_IIS7] could not get website list: {0}".error(ex.Message); } return(false); }
public static TreeView setup_TreeView_IISView(this API_IIS7 iis7, TreeView treeView) { Action <ConfigurationElement, TreeNode> map_Attributes = (configurationElement, treeNode) => { treeNode.add_Nodes(configurationElement.Attributes, (attribute) => "{0}: {1}".format(attribute.Name, attribute.Value)); }; treeView.beforeExpand <Site>( (treeNode, site) => { map_Attributes(site, treeNode); treeNode.add_Node("Applications").add_Nodes(site.Applications, true); treeNode.add_Node("Bindings").add_Nodes(site.Bindings); map_Attributes(site.LogFile, treeNode.add_Node("LogFile")); treeNode.color((site.state() == "Started") ? Color.DarkGreen : Color.Red); }); treeView.beforeExpand <Microsoft.Web.Administration.Application>( (treeNode, application) => { map_Attributes(application, treeNode); treeNode.add_Nodes(application.VirtualDirectories, true); }); treeView.beforeExpand <VirtualDirectory>( (treeNode, virtualDirectory) => { map_Attributes(virtualDirectory, treeNode); }); treeView.beforeExpand <ApplicationPool>( (treeNode, applicationPool) => { map_Attributes(applicationPool, treeNode); }); treeView.beforeExpand <WorkerProcess>( (treeNode, workerProcess) => { map_Attributes(workerProcess, treeNode); }); return(treeView); }
public static Site add_Website(this API_IIS7 iis7, string websiteName, string serverRoot, int port) { if (iis7.hasWebsite(websiteName).isFalse()) { var site = iis7.serverManager.Sites.Add(websiteName, serverRoot, port); iis7.commitChanges(); if (site.notNull()) { "Created new website called {0} on port {1} at folder {2}".info(websiteName, serverRoot, port); } else { "Could not created website with the provided details".error(); return(null); } } else if (iis7.ShowErrorIfTryingToCreateAWebsiteThatAlreadyExists) { "Could not add site since it already existed a website with the same name: {0}".error(websiteName); } return(iis7.website(websiteName)); }
public static API_IIS7 commitChanges(this API_IIS7 iis7) { iis7.serverManager.CommitChanges(); iis7.loadServerManager(); return(iis7); }
public static Site create_Website(this API_IIS7 iis7, string websiteName, string serverRoot) { return(iis7.add_Website(websiteName, serverRoot)); }
//public static TreeView show_IIS_Websites_In_TreeView<T>(this API_IIS7 apiIIS, T control) public static TreeView show_IIS_Websites_In_TreeView(this API_IIS7 iis7) { return(iis7.show_IIS_Websites_In_TreeView("TreeView with IIS 7.x Websites".showAsForm())); }
public static T add_IIS_Viewer <T>(this API_IIS7 iis7, T control) where T : Control { var site_WebBrowser = control.add_GroupBox("Selected Site: Web view").add_WebBrowser_Control(); var sites_TreeView = site_WebBrowser.parent().insert_Left(200, "IIS Websites").add_TreeView(); var site_PropertyGrid = sites_TreeView.insert_Below(150).add_PropertyGrid().helpVisible(false); var site_Options = sites_TreeView.insert_Below(50, "Options"); var site_folderViewer = site_WebBrowser.parent().insert_Below("Selected Site: File System View").add_FolderViewer(); var site_Logs = site_folderViewer.parent().parent().insert_Right("Seleted Site: Logs").add_FolderViewer(); site_WebBrowser.add_NavigationBar(); //bug: this is currently being enforeced on all websites //site_Options.add_Link("Allow Directory Browsing (globally)", 0 ,0, ()=> iis7.config(iis7.CurrentSite).directoryBrowse().value("enabled")); site_Options.add_CheckBox("Directory Browse on all websites", 0, 0, (value) => { iis7.value(iis7.config(iis7.websites()[0]).directoryBrowse(), "enabled", value); }).@checked(iis7.config(iis7.websites()[0]).directoryBrowse().value <bool>("enabled")) .autoSize(); sites_TreeView.afterSelect <object>( (item) => site_PropertyGrid.show(item)); sites_TreeView.afterSelect <Site>( (site) => { iis7.CurrentSite = site; site_WebBrowser.open(site.url()); site_folderViewer.open(site.rootFolder()); site_Logs.open(site.logFolder()); }); site_folderViewer.FolderView.afterSelect <string>( (fileOrFolder) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), site_folderViewer.virtualPath(fileOrFolder)); "Showing Url:{0}".info(url); site_WebBrowser.open(url); //var virtualPath = fileOrFolder.remove( }); iis7.show_IIS_Websites(sites_TreeView); sites_TreeView.afterSelect <VirtualDirectory>( (virtualDirectory) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), virtualDirectory.Path); "Showing Virtual Directory that is mapped to path:{0}".info(url); site_WebBrowser.open(url); }); sites_TreeView.afterSelect <Microsoft.Web.Administration.Application>( (application) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), application.Path); "Showing Application that is mapped to path:{0}".info(url); site_WebBrowser.open(url); }); sites_TreeView.add_ContextMenu().add_MenuItem("Refresh", () => iis7.show_IIS_Websites(sites_TreeView)); return(control); }
public static Site add_Website(this API_IIS7 iis7) { return(iis7.add_Website("_Temp_Website_{0}".format(10.randomLetters()))); }
public static API_IIS7 commit(this API_IIS7 iis7) { return(iis7.commitChanges()); }
public static List <Site> websites(this API_IIS7 iis7) { return(iis7.serverManager.Sites.toList()); }
public static Configuration config(this API_IIS7 iis7, string siteName) { return(iis7.config(iis7.website(siteName))); }
public static Site add_Website(this API_IIS7 iis7, string websiteName) { var serverRoot = websiteName.tempDir(); return(iis7.add_Website(websiteName, serverRoot)); }
public static Site add_Website(this API_IIS7 iis7, string websiteName, string serverRoot) { var port = 8080 + 2000.random(); return(iis7.add_Website(websiteName, serverRoot, port)); }
public static object value(this API_IIS7 iis7, ConfigurationSection section, string attributeName, object value) { section.SetAttributeValue(attributeName, value); iis7.commit(); return(section); }
public static bool hasWebsite(this API_IIS7 iis7, string name) { return(iis7.website(name).notNull()); }