public void Write(ExchangeAdminAuditRecord record) { Stopwatch stopwatch = Stopwatch.StartNew(); using (AdminAuditOpticsLogData adminAuditOpticsLogData = new AdminAuditOpticsLogData()) { try { adminAuditOpticsLogData.Tenant = (string.IsNullOrEmpty(record.OrganizationName) ? "First Org" : record.OrganizationName); adminAuditOpticsLogData.CmdletName = record.Operation; adminAuditOpticsLogData.ExternalAccess = record.ExternalAccess; adminAuditOpticsLogData.OperationSucceeded = (record.Succeeded ?? false); adminAuditOpticsLogData.RecordId = record.Id; adminAuditOpticsLogData.Asynchronous = true; IAuditLog auditLog = this.GetAuditLog(record.OrganizationId ?? string.Empty, record); IAuditLogRecord auditRecord = this.ConvertAuditRecord(record); adminAuditOpticsLogData.RecordSize = auditLog.WriteAuditRecord(auditRecord); adminAuditOpticsLogData.LoggingError = null; adminAuditOpticsLogData.AuditSucceeded = true; } catch (Exception loggingError) { adminAuditOpticsLogData.LoggingError = loggingError; adminAuditOpticsLogData.AuditSucceeded = false; throw; } finally { adminAuditOpticsLogData.LoggingTime = stopwatch.ElapsedMilliseconds; } } }
public static IAuditLogRecord FillAdminRecordDetails(ExchangeAdminAuditRecord auditRecord, Trace trace) { AdminAuditLogRecord adminAuditLogRecord = new AdminAuditLogRecord(trace) { Verbose = true, Cmdlet = auditRecord.Operation, ExternalAccess = auditRecord.ExternalAccess, ObjectModified = auditRecord.ObjectId, UserId = auditRecord.UserId, RunDate = auditRecord.CreationTime, Succeeded = (auditRecord.Succeeded ?? false), Error = auditRecord.Error, ModifiedObjectResolvedName = auditRecord.ModifiedObjectResolvedName, Parameters = new Hashtable(), ModifiedPropertyValues = new Hashtable(), OriginalPropertyValues = new Hashtable() }; if (auditRecord.Parameters != null) { foreach (NameValuePair nameValuePair in auditRecord.Parameters) { adminAuditLogRecord.Parameters.Add(nameValuePair.Name, nameValuePair.Value); } } if (auditRecord.ModifiedProperties != null) { foreach (ModifiedProperty modifiedProperty in auditRecord.ModifiedProperties) { adminAuditLogRecord.ModifiedPropertyValues.Add(modifiedProperty.Name, modifiedProperty.NewValue); adminAuditLogRecord.OriginalPropertyValues.Add(modifiedProperty.Name, modifiedProperty.OldValue); } } return(adminAuditLogRecord); }
// Token: 0x0600074E RID: 1870 RVA: 0x0001C86E File Offset: 0x0001AA6E public void Visit(ExchangeAdminAuditRecord record) { this.adminAuditWriter.Write(record); }
public void Visit(ExchangeAdminAuditRecord record) { this.Result = AuditLogRecord.FillAdminRecordDetails(record, this.trace); }