private void UpdateIntegratedMetabase(ADOwaVirtualDirectory dataObject) { if (Datacenter.IsMultiTenancyEnabled()) { base.WriteError(new TaskException(Strings.IntegratedVDirNotSupported), ErrorCategory.InvalidOperation, null); return; } try { using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "Integrated")) { bool flag = false; if (dataObject.IntegratedFeaturesEnabled != null && dataObject.IntegratedFeaturesEnabled != null) { flag = dataObject.IntegratedFeaturesEnabled.Value; } if (flag) { IisUtility.SetAuthenticationMethod(directoryEntry, MetabasePropertyTypes.AuthFlags.Ntlm, true); } else { IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.None, true); this.WriteWarning(Strings.IntegratedVDirDisabledWarning); } directoryEntry.CommitChanges(); } } catch (WebObjectNotFoundException) { base.WriteError(new TaskException(Strings.IntegratedVDirNotFound), ErrorCategory.InvalidOperation, null); } }
private void UpdateCalendarMetabase(ADOwaVirtualDirectory dataObject) { try { using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "Calendar")) { if (dataObject.AnonymousFeaturesEnabled == true) { IisUtility.SetAuthenticationMethod(directoryEntry, MetabasePropertyTypes.AuthFlags.Anonymous, true); } else { IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.None, true); } directoryEntry.CommitChanges(); } if (dataObject.AnonymousFeaturesEnabled == false) { this.WriteWarning(Strings.CalendarVDirDisabledWarning); } } catch (WebObjectNotFoundException) { base.WriteError(new TaskException(Strings.CalendarVDirNotFound), ErrorCategory.InvalidOperation, null); } }
private void SaveAppPoolName() { using (DirectoryEntry directoryEntry = IisUtility.CreateIISDirectoryEntry(this.Parent)) { DirectoryEntry directoryEntry2 = IisUtility.FindWebDirObject(this.Parent, this.Name); if (!string.Equals((string)directoryEntry.Properties["AppRoot"].Value, (string)directoryEntry2.Properties["AppRoot"].Value, StringComparison.InvariantCultureIgnoreCase) && !string.Equals((string)directoryEntry.Properties["AppPoolId"].Value, (string)directoryEntry2.Properties["AppPoolId"].Value, StringComparison.InvariantCultureIgnoreCase)) { this.applicationPool = (string)directoryEntry2.Properties["AppPoolId"].Value; } } }
private void UpdateOmaMetabase(ADOwaVirtualDirectory dataObject) { try { using (DirectoryEntry directoryEntry = IisUtility.FindWebDirObject(dataObject.MetabasePath, "oma")) { if (dataObject.LiveIdAuthentication) { IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.Basic, false); } else { IisUtility.SetAuthenticationMethod(directoryEntry, AuthenticationMethodFlags.Basic, true); } directoryEntry.CommitChanges(); } } catch (WebObjectNotFoundException) { base.WriteError(new TaskException(Strings.OmaVDirNotFound), ErrorCategory.InvalidOperation, null); } }
public void Execute() { this.checkPoints.Clear(); this.SaveLocalPath(); this.SaveAppPoolName(); try { IisUtility.FindWebDirObject(this.Parent, this.Name); IisUtility.DeleteWebDirObject(this.Parent, this.Name); this.checkPoints.Push(DeleteVirtualDirectory.CheckPoint.VirtualDirectoryDeleted); } catch (WebObjectNotFoundException) { } string hostName = IisUtility.GetHostName(this.parent); if (this.applicationPool != null && IisUtility.IsSupportedIisVersion(hostName)) { if (!this.DeleteApplicationPool) { if (!IisUtility.ApplicationPoolIsEmpty(this.applicationPool, hostName)) { return; } } try { string appPoolRootPath = IisUtility.GetAppPoolRootPath(hostName); IisUtility.FindWebObject(appPoolRootPath, this.applicationPool, "IIsApplicationPool"); IisUtility.DeleteApplicationPool(hostName, this.applicationPool); this.checkPoints.Push(DeleteVirtualDirectory.CheckPoint.ApplicationPoolDeleted); } catch (WebObjectNotFoundException) { } } }