Динамическая группа рассылки на основе или иерархия отчетности

Можно ли настроить динамическую группу рассылки так, чтобы она содержала все непосредственные подчиненные определенного человека, а также рекурсивно все их непосредственные подчиненные?

Verbose Info

Чтобы получить только непосредственных подчиненных, я думаю, мы бы просто запустили:

Set-DynamicDistributionGroup -Identity 'SomeManagersDirectReports' `
    -RecipientFilter "((RecipientType -eq 'UserMailbox') -and (Manager -eq 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com')" 

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

# very rough code to demo thinking... Haven't yet considered things like character escaping /
# circular loops / other fun things which may be found in the wild...

[string]$FirstPersonDn = 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com'
[System.Collections.Generic.List[string]]$newMembers = [System.Collections.Generic.List[string]]::new()
[System.Collections.Generic.List[string]]$members = [System.Collections.Generic.List[string]]::new()
$newMembers.Add($FirstPersonDn)
while ($newMembers.Count) {
    $members.Add($newMembers)
    $newMembers = $newMembers | %{Get-AdUser $_ -properties DirectReports} | % DirectReports
}
Update-DistributionGroupMember -Identity 'SomeManagerAndTheirReportsRecusive' -Members $members
0
задан 27 October 2021 в 15:27
1 ответ

У меня тоже был похожий вопрос и любопытство. Это привело меня к github и просмотру кода для SSSD, однако именно в кодовой базе realmd есть ответ.

Изhttps://github.com/freedesktop/realmd/search?q=realmd_tags

        value = realm_ini_config_get (self->pv->config, self->pv->section, "realmd_tags");
        if (value && strstr (value, "manages-system"))
            manages_system = TRUE;
        g_free (value);

Похоже, что нет никакого другого кода, который получает конфигурацию "realmd_tags". Существует код, который создает свои собственные теги realmd_, например : https://github.com/freedesktop/realmd/blob/63a6453399dddb3d49ec32e6095594ecc322829f/service/realm-sssd-ad.c#L183

    realmd_tags = g_string_new ("");
    if (realm_options_manage_system (options, disco->domain_name))
        g_string_append (realmd_tags, "manages-system ");
    g_string_append (realmd_tags, use_adcli ? "joined-with-adcli " : "joined-with-samba ");

. Эта логика была введена еще в 2012 году для обработки автоматических или одноразовых паролей (и других сценариев), см. коммит: https://github.com/freedesktop/realmd/commit/3a988441e411a8e38f668edf1114397e1726a155

-121---. ]501210-

Согласно моим исследованиям, рекурсивная доставка электронных писем непосредственным подчиненным менеджеров, входящих в динамическую группу рассылки, недоступна,вы можете только добавить все отчеты в группу или создать динамическую группу рассылки для каждого менеджера и добавить эти DDL в родительскую группу рассылки.

Вот аналогичная тема для справки, надеюсь, она поможет.:Создать динамическую группу рассылки на основе менеджера

0
ответ дан 28 October 2021 в 05:42

Теги

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