protected PowerShellResults <L> SetObject <O, U, L>(string setCmdlet, Identity identity, U properties, Identity identityForGetCmdlet) where O : L where U : SetObjectProperties { EcpPerfCounters.WebServiceSetObject.Increment(); identity.FaultIfNull(); properties.FaultIfNull(); PowerShellResults <L> powerShellResults = new PowerShellResults <L>(); properties.IgnoreNullOrEmpty = false; if (properties.Any <KeyValuePair <string, object> >()) { powerShellResults = this.CoreInvoke <L>(new PSCommand().AddCommand(setCmdlet), identity.ToPipelineInput(), identity, properties); } if (powerShellResults.Succeeded && null != identityForGetCmdlet) { PowerShellResults <L> powerShellResults2 = null; if (properties.ReturnObjectType == ReturnObjectTypes.Full && this is IGetObjectService <O> ) { IGetObjectService <O> getObjectService = this as IGetObjectService <O>; PowerShellResults <O> @object = getObjectService.GetObject(identityForGetCmdlet); powerShellResults2 = new PowerShellResults <L>(); powerShellResults2.MergeOutput(@object.Output.Cast <L>().ToArray <L>()); powerShellResults2.MergeErrors <O>(@object); } else if (properties.ReturnObjectType == ReturnObjectTypes.PartialForList && this is IGetObjectForListService <L> ) { IGetObjectForListService <L> getObjectForListService = this as IGetObjectForListService <L>; powerShellResults2 = getObjectForListService.GetObjectForList(identityForGetCmdlet); } if (powerShellResults2 != null) { powerShellResults.MergeAll(powerShellResults2); } } return(powerShellResults); }
public PowerShellResults <AdminAuditLogResultRow> GetList(AdminAuditLogSearchFilter filter, SortOptions sort) { if (filter == null) { filter = new AdminAuditLogSearchFilter(); } filter.Cmdlets = "Set-Mailbox"; filter.Parameters = "LitigationHoldEnabled"; if (filter != null && filter.ObjectIds != null && filter.ObjectIds.Length > 0) { SmtpAddress[] addresses = filter.ObjectIds.ToSmtpAddressArray(); string[] identitiesFromSmtpAddresses = AuditHelper.GetIdentitiesFromSmtpAddresses(addresses); if (identitiesFromSmtpAddresses.Length != 0) { filter.ObjectIds = string.Join(",", identitiesFromSmtpAddresses); } } PowerShellResults <AdminAuditLogResultRow> list = base.GetList <AdminAuditLogResultRow, AdminAuditLogSearchFilter>("Search-AdminAuditLog", filter, sort); PowerShellResults <AdminAuditLogResultRow> powerShellResults = new PowerShellResults <AdminAuditLogResultRow>(); if (list.Succeeded) { string a = null; foreach (AdminAuditLogResultRow adminAuditLogResultRow in list.Output) { if (!string.Equals(a, adminAuditLogResultRow.ObjectModified, StringComparison.InvariantCultureIgnoreCase)) { a = adminAuditLogResultRow.ObjectModified; powerShellResults.MergeOutput(new AdminAuditLogResultRow[] { adminAuditLogResultRow }); } } int num = powerShellResults.Output.Length; AdminAuditLogResultRow[] array = new AdminAuditLogResultRow[num]; for (int j = 0; j < num; j++) { Identity id = AuditHelper.CreateIdentity(powerShellResults.Output[j].ObjectModified, filter.StartDate, filter.EndDate); array[j] = new AdminAuditLogResultRow(id, powerShellResults.Output[j].AuditReportSearchBaseResult); } powerShellResults.Output = array; return(powerShellResults); } return(list); }
public PowerShellResults <AdminAuditLogDetailRow> GetObject(Identity identity) { PowerShellResults <AdminAuditLogDetailRow> powerShellResults = new PowerShellResults <AdminAuditLogDetailRow>(); if (identity != null && identity.RawIdentity != null) { ExternalAccessLogDetailsId externalAccessLogDetailsId = new ExternalAccessLogDetailsId(identity); ExternalAccessFilter externalAccessFilter = new ExternalAccessFilter(); if (externalAccessLogDetailsId.StartDate != "NoStart") { externalAccessFilter.StartDate = externalAccessLogDetailsId.StartDate; } if (externalAccessLogDetailsId.EndDate != "NoEnd") { externalAccessFilter.EndDate = externalAccessLogDetailsId.EndDate; } externalAccessFilter.ExternalAccess = new bool?(true); PSCommand pscommand = new PSCommand().AddCommand("Search-AdminAuditLog").AddParameters(externalAccessFilter); pscommand.AddParameter("ObjectIds", externalAccessLogDetailsId.ObjectModified); pscommand.AddParameter("Cmdlets", externalAccessLogDetailsId.Cmdlet); pscommand.AddParameter("resultSize", 501); PowerShellResults <AdminAuditLogEvent> powerShellResults2 = base.Invoke <AdminAuditLogEvent>(pscommand); if (powerShellResults2.Succeeded) { if (powerShellResults2.Output.Length == 501) { powerShellResults.Warnings = new string[] { Strings.TooManyAuditLogsInDetailsPane }; } AdminAuditLogDetailRow[] array = new AdminAuditLogDetailRow[powerShellResults2.Output.Length]; for (int i = 0; i < powerShellResults2.Output.Length; i++) { array[i] = new AdminAuditLogDetailRow(identity, powerShellResults2.Output[i]); } powerShellResults.MergeOutput(array); } powerShellResults.MergeErrors <AdminAuditLogEvent>(powerShellResults2); } return(powerShellResults); }
public PowerShellResults <AdminAuditLogDetailRow> GetObject(Identity identity) { PowerShellResults <AdminAuditLogDetailRow> powerShellResults = new PowerShellResults <AdminAuditLogDetailRow>(); if (identity != null && identity.RawIdentity != null) { AuditLogDetailsId auditLogDetailsId = new AuditLogDetailsId(identity); AdminAuditLogSearchFilter adminAuditLogSearchFilter = new AdminAuditLogSearchFilter(); adminAuditLogSearchFilter.Cmdlets = "Set-Mailbox"; adminAuditLogSearchFilter.Parameters = "LitigationHoldEnabled"; if (auditLogDetailsId.StartDate != "NoStart") { adminAuditLogSearchFilter.StartDate = auditLogDetailsId.StartDate; } if (auditLogDetailsId.EndDate != "NoEnd") { adminAuditLogSearchFilter.EndDate = auditLogDetailsId.EndDate; } PSCommand pscommand = new PSCommand().AddCommand("Search-AdminAuditLog").AddParameters(adminAuditLogSearchFilter); pscommand.AddParameter("objectIds", auditLogDetailsId.Object); pscommand.AddParameter("resultSize", 501); PowerShellResults <AdminAuditLogEvent> powerShellResults2 = base.Invoke <AdminAuditLogEvent>(pscommand); if (powerShellResults2.Succeeded) { if (powerShellResults2.Output.Length == 501) { powerShellResults.Warnings = new string[] { Strings.TooManyAuditLogsInDetailsPane }; } AdminAuditLogDetailRow[] array = new AdminAuditLogDetailRow[powerShellResults2.Output.Length]; for (int i = 0; i < powerShellResults2.Output.Length; i++) { array[i] = new AdminAuditLogDetailRow(identity, powerShellResults2.Output[i]); } powerShellResults.MergeOutput(array); } powerShellResults.MergeErrors <AdminAuditLogEvent>(powerShellResults2); } return(powerShellResults); }
public PowerShellResults <AdminAuditLogDetailRow> GetObject(Identity identity) { AuditLogDetailsId auditLogDetailsId = new AuditLogDetailsId(identity); AdminAuditLogSearchFilter adminAuditLogSearchFilter = new AdminAuditLogSearchFilter(); adminAuditLogSearchFilter.Cmdlets = "Add-RoleGroupMember,Remove-RoleGroupMember,Update-RoleGroupMember,New-RoleGroup,Remove-RoleGroup"; if (auditLogDetailsId.StartDate != "NoStart") { adminAuditLogSearchFilter.StartDate = auditLogDetailsId.StartDate; } if (auditLogDetailsId.EndDate != "NoEnd") { adminAuditLogSearchFilter.EndDate = auditLogDetailsId.EndDate; } adminAuditLogSearchFilter.ObjectIds = auditLogDetailsId.Object; PSCommand pscommand = new PSCommand().AddCommand("Search-AdminAuditLog").AddParameters(adminAuditLogSearchFilter); pscommand.AddParameter("resultSize", 501); PowerShellResults <AdminAuditLogEvent> powerShellResults = base.Invoke <AdminAuditLogEvent>(pscommand); PowerShellResults <AdminAuditLogDetailRow> powerShellResults2 = new PowerShellResults <AdminAuditLogDetailRow>(); if (powerShellResults.Succeeded) { if (powerShellResults.Output.Length == 501) { powerShellResults2.Warnings = new string[] { Strings.TooManyAuditLogsInDetailsPane }; } List <AdminAuditLogDetailRow> list = new List <AdminAuditLogDetailRow>(); for (int i = 0; i < powerShellResults.Output.Length; i++) { list.Add(new AdminAuditLogDetailRow(identity, auditLogDetailsId.Object, powerShellResults.Output[i])); } powerShellResults2.MergeOutput(list.ToArray()); return(powerShellResults2); } powerShellResults2.MergeErrors <AdminAuditLogEvent>(powerShellResults); return(powerShellResults2); }
public PowerShellResults <AdminAuditLogDetailRow> GetObject(Identity identity) { PowerShellResults <AdminAuditLogDetailRow> powerShellResults = new PowerShellResults <AdminAuditLogDetailRow>(); if (identity != null && identity.RawIdentity != null) { AuditLogDetailsId changeId = new AuditLogDetailsId(identity); AdminAuditLogSearchFilter adminAuditLogSearchFilter = new AdminAuditLogSearchFilter(); adminAuditLogSearchFilter.Cmdlets = "New-MailboxSearch, Start-MailboxSearch, Get-MailboxSearch, Stop-MailboxSearch, Remove-MailboxSearch, Set-MailboxSearch"; adminAuditLogSearchFilter.Parameters = "*"; if (changeId.StartDate != "NoStart") { adminAuditLogSearchFilter.StartDate = changeId.StartDate; } if (changeId.EndDate != "NoEnd") { adminAuditLogSearchFilter.EndDate = changeId.EndDate; } PSCommand pscommand = new PSCommand().AddCommand("Search-AdminAuditLog").AddParameters(adminAuditLogSearchFilter); pscommand.AddParameter("resultSize", 501); PowerShellResults <AdminAuditLogEvent> powerShellResults2 = base.Invoke <AdminAuditLogEvent>(pscommand); if (powerShellResults2.Succeeded) { if (powerShellResults2.Output.Length == 501) { powerShellResults.Warnings = new string[] { Strings.TooManyAuditLogsInDetailsPane }; } powerShellResults.MergeOutput((from x in powerShellResults2.Output where x.SearchObject == changeId.Object select new AdminAuditLogDetailRow(identity, x)).ToArray <AdminAuditLogDetailRow>()); } powerShellResults.MergeErrors <AdminAuditLogEvent>(powerShellResults2); } return(powerShellResults); }
public PowerShellResults <AdminAuditLogResultRow> GetList(AdminAuditLogSearchFilter filter, SortOptions sort) { if (filter == null) { filter = new AdminAuditLogSearchFilter(); } filter.Cmdlets = "Add-RoleGroupMember,Remove-RoleGroupMember,Update-RoleGroupMember,New-RoleGroup,Remove-RoleGroup"; PowerShellResults <AdminAuditLogResultRow> list = base.GetList <AdminAuditLogResultRow, AdminAuditLogSearchFilter>("Search-AdminAuditLog", filter, sort); PowerShellResults <AdminAuditLogResultRow> powerShellResults = new PowerShellResults <AdminAuditLogResultRow>(); if (list.Succeeded) { Dictionary <string, AdminAuditLogResultRow> dictionary = new Dictionary <string, AdminAuditLogResultRow>(); foreach (AdminAuditLogResultRow adminAuditLogResultRow in list.Output) { if (!dictionary.ContainsKey(adminAuditLogResultRow.ObjectModified.ToLower())) { dictionary[adminAuditLogResultRow.ObjectModified.ToLower()] = adminAuditLogResultRow; } } using (Dictionary <string, AdminAuditLogResultRow> .ValueCollection.Enumerator enumerator = dictionary.Values.GetEnumerator()) { while (enumerator.MoveNext()) { AdminAuditLogResultRow adminAuditLogResultRow2 = enumerator.Current; Identity id = AuditHelper.CreateIdentity(adminAuditLogResultRow2.ObjectModified, filter.StartDate, filter.EndDate); powerShellResults.MergeOutput(new AdminAuditLogResultRow[] { new AdminAuditLogResultRow(id, adminAuditLogResultRow2.AuditReportSearchBaseResult) }); } return(powerShellResults); } } powerShellResults.MergeErrors <AdminAuditLogResultRow>(list); return(powerShellResults); }
public PowerShellResults <NonOwnerAccessDetailRow> GetObject(Identity identity) { NonOwnerAccessDetailsId nonOwnerAccessDetailsId = new NonOwnerAccessDetailsId(identity); NonOwnerAccessFilter nonOwnerAccessFilter = new NonOwnerAccessFilter(); if (nonOwnerAccessDetailsId.StartDate != "NoStart") { nonOwnerAccessFilter.StartDate = nonOwnerAccessDetailsId.StartDate; } if (nonOwnerAccessDetailsId.EndDate != "NoEnd") { nonOwnerAccessFilter.EndDate = nonOwnerAccessDetailsId.EndDate; } string logonTypes; if (!nonOwnerAccessDetailsId.LogonTypes.IsNullOrBlank() && (logonTypes = nonOwnerAccessDetailsId.LogonTypes) != null) { if (!(logonTypes == "AllNonOwners")) { if (!(logonTypes == "OutsideUsers")) { if (!(logonTypes == "InternalUsers")) { if (logonTypes == "NonDelegateUsers") { nonOwnerAccessFilter.LogonTypes = "Admin"; nonOwnerAccessFilter.ExternalAccess = new bool?(false); } } else { nonOwnerAccessFilter.LogonTypes = "Admin,Delegate"; nonOwnerAccessFilter.ExternalAccess = new bool?(false); } } else { nonOwnerAccessFilter.LogonTypes = null; nonOwnerAccessFilter.ExternalAccess = new bool?(true); } } else { nonOwnerAccessFilter.LogonTypes = "Admin,Delegate"; } } PSCommand pscommand = new PSCommand().AddCommand("Search-MailboxAuditLog").AddParameters(nonOwnerAccessFilter); pscommand.AddParameter("identity", nonOwnerAccessDetailsId.Object); pscommand.AddParameter("showDetails", true); pscommand.AddParameter("resultSize", 501); PowerShellResults <MailboxAuditLogEvent> powerShellResults = base.Invoke <MailboxAuditLogEvent>(pscommand); PowerShellResults <NonOwnerAccessDetailRow> powerShellResults2 = new PowerShellResults <NonOwnerAccessDetailRow>(); if (powerShellResults.Succeeded) { if (powerShellResults.Output.Length == 0) { powerShellResults2.Warnings = new string[] { Strings.AuditLogsDeleted }; } if (powerShellResults.Output.Length == 501) { powerShellResults2.Warnings = new string[] { Strings.TooManyAuditLogsInDetailsPane }; } NonOwnerAccessDetailRow[] array = new NonOwnerAccessDetailRow[powerShellResults.Output.Length]; for (int i = 0; i < powerShellResults.Output.Length; i++) { array[i] = new NonOwnerAccessDetailRow(identity, powerShellResults.Output[i]); } powerShellResults2.MergeOutput(array); return(powerShellResults2); } powerShellResults2.MergeErrors <MailboxAuditLogEvent>(powerShellResults); return(powerShellResults2); }