Get-ADUser не возвращает все возможные атрибуты AD при указании всех свойств

После получения SparkContext можно также использовать addPyFile для последующего отправки модуля каждому работнику.

sc.addPyFile('/path/to/BoTree.py')

pyspark.SparkContext.addPyFile (путь) документации

7
задан Bender the Greatest 13 July 2018 в 21:17
поделиться

2 ответа

Ответ заключается в том, что существует несколько типов атрибутов на ADObject - Default, Extended и Constructed. Это некоторые примеры.

Default свойства возвращаются во все ADObject запросы, соответствующие определенному типу ADObject (ADUser имеет свой собственный набор свойств по умолчанию, ADGroup имеет свой собственный набор и т. д.).

Extended свойства по умолчанию не возвращаются, но неявно перечислимые статические атрибуты в атрибутах ADObject.

Constructed не являются статическими свойствами, а вычисляются на основе значений других атрибутов, принадлежащих ADObject. Я не мог найти никакой информации об этом, но я полагаю, что перечисление всех атрибутов Constructed может быть дорогостоящей операцией, поскольку значения вычисляются и, как таковые, должны быть явно запрошены с помощью параметра -Properties командлетов Get-ADObject .

Все это похоже на атрибут systemFlags на ADObject, где установлены типы атрибутов. Мое подозрение (я не очень сильно тестировал эту теорию) заключается в том, что атрибуты с флагом Constructed (4) или Non-Replicated (2) должны быть явно указаны для возврата из cmdlet.

Источники

msDS-UserPasswordExpiryTimeComputed Documentation

Список всех построенных атрибутов в ADObject с использованием фильтра LDAP

Определение Тип атрибута

Атрибут SystemFlags

1
ответ дан Bender the Greatest 17 August 2018 в 12:08
поделиться

Следующий код должен возвращать ВСЕ атрибуты пользователя AD (все свойства ObjectClass = user):

$properties = Get-ADObject -SearchBase (Get-ADRootDSE).SchemanamingContext -Filter {name -eq "User"} -Properties MayContain,SystemMayContain | `
Select-Object @{name="Properties";expression={$_.maycontain+$_.systemmaycontain}} | `
Select-Object -ExpandProperty Properties

Get-ADUser -Identity username -Properties $properties | fl $properties

Сначала он извлекает и сохраняет все пользовательские свойства в массив, а затем, во-вторых, свойства массив используется с Get-ADUser для извлечения всех свойств для одного пользователя (в этом примере).

3
ответ дан TobyU 17 August 2018 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: