// ----------------------------------------------------------------------------- public IADObject FilterObject(IADObject adObj) { if (adObj == null) { return(null); } // Just return object, iff no filtering is wanted ... //return adObj; var logCopy = adObj; adObj = _specialFilter.FilterObject(adObj); if (adObj == null) { WriteLogFilteredAway(logCopy, nameof(SpecialObjectsFilter)); return(null); } adObj = _ugoFilter.FilterObject(adObj); if (adObj == null) { WriteLogFilteredAway(logCopy, nameof(UserGroupOUFilter)); return(null); } adObj = _cacheFilter.FilterObject(adObj); if (adObj == null) { WriteLogFilteredAway(logCopy, nameof(IInCacheFilter)); return(null); } return(adObj); }
// ----------------------------------------------------------------------------- void WriteLogFilteredAway(IADObject adObj, string filterType) { if (_config.LogTrace_ADX_EventsFilteredAway) { _logger.LogTrace($"Object is FILTERED OUT => {adObj.ToString()} by filtertype => [{filterType}]"); } }
public static SubjectDescriptorModel FromActiveDirectoryObject(IADObject ADObject) { var item = new SubjectDescriptorModel() { Id = ADObject.Id, Name = ADObject.DisplayName }; if (ADObject is ADUserAccount) { item.IsUserAccount = true; item.Type = "user"; } else if (ADObject is ADGroup) { item.IsGroup = true; item.Type = "group"; } else if (ADObject is ADMachineAccount) { item.IsMachineAccount = true; item.Type = "machine"; } else { item.Type = "unknown"; } return item; }