том числе по имени свойств:
- SID
- objectGuid
- SamAccountName
- DistinguishedName
Alias-ы объявлены именно в таком порядке.
Таким образом, даже объект другого, в т.ч. кастомного типа, но содержащий одно из этих свойств, может быть обработан.
Почему-то, когда на вход поступают объекты, содержащие более одного свойства, предпочтительным является именно DistinguishedName.
Исключить из набора Alias-ов я его не могу, т.к. возможна ситуация, когда только одно это свойство и будет присутствовать.
Нужно сделать так, чтобы при наличии нескольких подходящих свойств в качестве идентификатора использовался в первую очередь SID или GUID, затем SamAccountName, и только в последнюю очередь DistinguishedName.
Какие соображения?
Сделать свой кастомный тип и задать в нём тот порядок, который хочется
А в том типе как раз свойство "SID" впереди свойства "DistinguishedName". Это, подозреваю, у типа "ADComputer" порядок такой. Но на входе я хочу именно сохранить ожидаемый тип "ADComputer" для совместимости.
> в том типе Ну т.е., я как раз и напоролся на баг, когда подал на вход объект этого кастомного типа, только из старой переменной. Компьютер, который в эту переменную этого кастомного типа угодил, был переименован (изменилось cn => изменилось DistinguishedName). SID, SamAccountName, GUID — остались прежними.
Собственно, там у меня есть перегрузка ToString(), которая возвращает как раз SID.
Сложно чот. А внутри никак нельзя что-то проверять, что на вход упало ?
Обсуждают сегодня