/// <summary> /// Wmi query for IIsApplicationPool object. /// </summary> /// <param name="name">The AppPool name.</param> /// <param name="machineName">The server on which the AppPool is running.</param> /// <param name="millisecondsTimeout">Timeout value on ManagementOptions object.</param> /// <param name="options"></param> /// <returns>The Wmi AppPool ManagementObject</returns> static ManagementObject GetAppPoolManagementObject(string name, string machineName, int millisecondsTimeout, ref ManagementOptions options) { IisAppPoolUtilWmiHelper helper = new IisAppPoolUtilWmiHelper(machineName); ManagementObject appPool = helper.CreateManagementObject("IIsApplicationPool"); appPool.Properties["Name"].Value = string.Format("W3SVC/AppPools/{0}", name); options.Timeout = System.TimeSpan.FromMinutes(Convert.ToDouble(millisecondsTimeout)); return(appPool); }
/// <summary> /// Wmi query for IIsApplicationPoolSetting for an AppPool. /// </summary> /// <param name="appPoolName">The AppPool name.</param> /// <param name="useWildcard">Uses a wildcard in searching for the AppPool by name ["%{0}%"].</param> /// <param name="machineName">The server on which the AppPool is running.</param> /// <returns>The Wmi ManagementObjectCollection for the AppPool.</returns> static ManagementObjectCollection GetAppPoolSettings(string appPoolName, bool useWildcard, string machineName) { if (useWildcard) { appPoolName = string.IsNullOrWhiteSpace(appPoolName) ? "%" : string.Format("%{0}%", appPoolName); } ObjectQuery query = new ObjectQuery(string.Format("SELECT * FROM IIsApplicationPoolSetting WHERE Name = 'W3SVC/AppPools/{0}'", appPoolName)); IisAppPoolUtilWmiHelper helper = new IisAppPoolUtilWmiHelper(machineName); return(helper.Query(query, WmiPath.IIS)); }
/// <summary> /// Creates a new AppPool. /// </summary> /// <param name="name">The AppPool name.</param> /// <param name="machineName">The server on which the AppPool will be created.</param> /// <param name="millisecondsTimeout">Timeout value on wait for Create to complete.</param> /// <returns>The Wmi ManagementPath</returns> public static ManagementPath Create(string name, string machineName, int millisecondsTimeout) { PutOptions options = new PutOptions(); options.Timeout = System.TimeSpan.FromMinutes(Convert.ToDouble(millisecondsTimeout)); IisAppPoolUtilWmiHelper helper = new IisAppPoolUtilWmiHelper(machineName); ManagementObject appPool = helper.CreateManagementObject("IIsApplicationPoolSetting"); appPool.Properties["Name"].Value = string.Format("W3SVC/AppPools/{0}", name); appPool.Properties["AppPoolIdentityType"].Value = 3; appPool.Properties["ManagedRuntimeVersion"].Value = "v4.0"; return(appPool.Put(options)); }