public static TADWrapperObject FindAdObjectWithQueryStatic(IADToplogyConfigurationSession adSession, QueryFilter queryFilter) { TADWrapperObject answer = default(TADWrapperObject); Exception ex = ADUtils.RunADOperation(delegate() { TADWrapperObject[] array = adSession.Find <TADWrapperObject>(null, QueryScope.SubTree, queryFilter, null, 2); if (array.Length > 1) { SimpleAdObjectLookup <TADWrapperObject> .Tracer.TraceError <QueryFilter, TADWrapperObject, TADWrapperObject>(0L, "FindAdObjectWithQueryStatic found multiple objects with query '{0}'! The first two are '{1}' and '{2}'.", queryFilter, array[0], array[1]); answer = array[(Environment.TickCount & int.MaxValue) % 2]; return; } if (array.Length == 0) { SimpleAdObjectLookup <TADWrapperObject> .Tracer.TraceError <QueryFilter>(0L, "FindAdObjectWithQueryStatic found no objects with query '{0}'!", queryFilter); return; } answer = array[0]; }, 2); if (ex != null) { SimpleAdObjectLookup <TADWrapperObject> .Tracer.TraceError <Exception>(0L, "FindAdObjectWithQueryStatic got an exception: {0}", ex); } return(answer); }
public static IADDatabase[] GetAllDatabases(IADToplogyConfigurationSession adSession, IFindAdObject <IADDatabase> databaseLookup, MiniServer miniServer, out Exception exception) { IADDatabaseCopy[] copies = null; QueryFilter serverFilter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, miniServer.Name); exception = ADUtils.RunADOperation(delegate() { copies = adSession.Find <IADDatabaseCopy>(null, QueryScope.SubTree, serverFilter, null, 0); }, 2); if (exception != null) { return(null); } List <IADDatabase> list = new List <IADDatabase>(20); foreach (IADDatabaseCopy iaddatabaseCopy in copies) { ADObjectId parent = iaddatabaseCopy.Id.Parent; IADDatabase iaddatabase = databaseLookup.ReadAdObjectByObjectIdEx(parent, out exception); if (exception != null) { return(null); } if (iaddatabase != null) { list.Add(iaddatabase); } } return((list.Count > 0) ? list.ToArray() : null); }
public static TADWrapperObject FindAdObjectTypeByGuidStatic(IADToplogyConfigurationSession adSession, Guid objectGuid, IPerformanceDataLogger perfLogger) { if (objectGuid == Guid.Empty) { throw new ArgumentException("objectGuid cannot be Empty."); } TADWrapperObject adObject = default(TADWrapperObject); Exception ex = ADUtils.RunADOperation(delegate() { QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Guid, objectGuid); TADWrapperObject[] array = adSession.Find <TADWrapperObject>(null, QueryScope.SubTree, filter, null, 1); adObject = ((array != null && array.Length > 0) ? array[0] : default(TADWrapperObject)); }, perfLogger, 2); if (ex != null) { SimpleAdObjectLookup <TADWrapperObject> .Tracer.TraceError <Exception>(0L, "FindAdObjectTypeByGuidStatic got an exception: {0}", ex); } return(adObject); }
public static TADWrapperObject FindAdObjectByServerNameStatic(IADToplogyConfigurationSession adSession, string serverName, out Exception exception) { if (string.IsNullOrEmpty(serverName)) { throw new ArgumentNullException("serverName"); } exception = null; TADWrapperObject adObject = default(TADWrapperObject); Exception ex = ADUtils.RunADOperation(delegate() { QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, serverName); TADWrapperObject[] array = adSession.Find <TADWrapperObject>(null, QueryScope.SubTree, filter, null, 1); adObject = ((array != null && array.Length > 0) ? array[0] : default(TADWrapperObject)); }, 2); if (ex != null) { exception = ex; SimpleAdObjectLookup <TADWrapperObject> .Tracer.TraceError <Exception>(0L, "FindAdObjectByServerNameStatic got exception: {0}", ex); } return(adObject); }