Každý ajťák je v principu líný. Není to negativní vlastnost, je to prakticky nutná kvalifikace. Pokud existuje možnost, jak se zbavit práce,
tak proč toho nevyužit. Dneska si něco takového ukážeme. Ale od začátku. Řekneme si něco málo o distribučních listech. Nastavíme vlastníky, resp.
managery těchto listů. Nastavíme oprávnění na změnu členů skupiny. Řekneme si, jak to řešit u Exchange serveru 2007. A pak si povíme, proč to
u Exchange serveru 2010 nefunguje a co je ještě potřeba.
Takže distribuční listy slouží k tomu, aby bylo možné posílat e-maily stejné skupině lidí. V ideálním případě ani odesílatel nemusí vědět, kdo všechno
je vlastně příjemcem. Můžou to být členové projektu nebo skupina může mít všechny zaměstnance oddělení. Podle toho pak tvoříme jméno, aby bylo možné
rozlišit, kam to vlastně posíláme. Je dobré hned na záčátku zavést jednotnou jmennou konvenci a tu dodržovat. Například distribuční list by mohl
začínat DL, pak by mohlo být rozlišení, jestli se jedná o skupinu oddělení nebo projektu (PR nebo LOC), následuje jméno projektu nebo oddělení a
případně další rozlišení. Takže distribuční list pro klíčové uživatele projektu SAP by byl:
DL_PR_SAP_Keyusers
Distribuční list pro zaměstnance finanční oddělení by byl:
DL_LOC_FI
Distribuční list pro všechny zaměstnance ve Vizovicích, by byl
DL_LOC_Vizovice_users
Není to samozřejmě nutnost pro Exchange server, ale zjistíte, že Vám to dost ulehčí práci, až budete něco hledat. My jsme dostali za úkol vytvořit
několik skupin pro nový projekt s názvem Test. ;-) A to konkrétně tyto skupiny:
DL_PR_Test_mgmt
DL_PR_Test_plan
DL_PR_Test_architects
DL_PR_Test_keyusers
DL_PR_Test_team
DL_PR_Test_issues
DL_PR_Test_reports
DL_PR_Test_handover
A jsme u líného admina. Proč dělat ručně tolik skupin, když to zvládne jeden příkaz. Vytvoříme si textový soubor, do kterého vložíme jména skupin,
které chceme vytvořit. Na první řádek dáme text jmeno. Viz obrázek:
Uložíme na disk. V mém případě do c:\scripts a otevřeme powershell. A spustíme příkaz:
import-csv C:\scripts\skupiny.txt | foreach {new-DistributionGroup -Name $_.jmeno -Type "Distribution" -OrganizationalUnit "tnx.cz/distribution_groups" -SamAccountName $_.jmeno -Alias $_.jmeno}
A máme vytvořené skupiny:
Tyto skupiny jsou nastaveny tak, že přijímají poštu pouze od uživatelů vaší Exchange organizace. Jinými slovy, pošta z internetu nebude doručena.
Pokud potřebujete, aby bylo možné na tyto skupiny posílat poštu i z internetu, tak to povolíme. Následující příkaz opět načte jména skupin
z textového souboru a pro všechny povolí příjem pošty z internetu:
import-csv C:\scripts\skupiny.txt | foreach {Set-DistributionGroup -Identity $_.jmeno -RequireSenderAuthenticationEnabled $false}
Projekt se rozjede, odpovědná osoba nebo osoby Vám začnou psát, kdo má být členem které skupiny. Jak se osazenstvo bude měnit, tak budou psát,
kdo má být z které skupiny vyřazen, kdo doplněn. Né ten Novák néééé, jiný Novák. Jako u blbých. Když má někdo pravomoc rozhodovat, kdo má být členem
které skupiny, tak proč by rovnou nemohl měnit členy? Mohl. Stačí nastavit oprávnění. V případě, že by takových odpovědných osob mohlo být víc, tak
se nám bude hodit jedna bezpečnostní skupina. Její použití si vysvětlíme později. Já si vytvořím security group s názvem SG_PR_Test_DL_mgrs. Opět je
vhodné mít nějakou politiku, podle které budou vznikat jména skupin. Skupinu vytvořím pomocí ADUCu, bude v OU tnx.cz/security_groups a jedná se
o Universal Security Group.
Vzhledem k tomu, že i security group muže přijímat poštu, tak toho využijeme. Členy této skupiny budou osoby odpovědné za členství ve skupinách.
Budou to běžné uživatelské účty. V mém případě to budou uživatelé Kovář Jan a Kovář Honza. ;-) Použijeme tyto příkazy:
enable-DistributionGroup -Identity "tnx.cz/security_groups/SG_PR_Test_DL_mgrs" -Alias "SG_PR_Test_DL_mgrs"
Add-DistributionGroupMember -Identity "SG_PR_Test_DL_mgrs" -Member "tnx.cz/lide/Kovar Jan"
Add-DistributionGroupMember -Identity "SG_PR_Test_DL_mgrs" -Member "tnx.cz/lide/Kovar Honza"
Tak jsme připravení na přidávání oprávnění. Pánové Kovar Jan a Kovar Honza mají mít oprávnění přidávat a odebírat členy skupin. Přidáme
tyto uživatele do ManagedBy pole všech skupin.
import-csv C:\scripts\skupiny.txt | foreach {Set-DistributionGroup -Identity $_.jmeno -ManagedBy "tnx.cz/lide/Kovar Honza","tnx.cz/lide/Kovar Jan"}
Tím jsme ale ve skutečnosti žádná práva nepřidali. To uděláme až teď. Ale než budeme pokračovat, tak malá zmínka o Exchange 2007. Tam mohl být
pouze jeden vlastník. Na rozdíl od Exchange 2010, tam ale šlo vložit skupinu. Takže jako vlastníka bychom mohli dát SG_PR_Test_DL_mgrs.
import-csv C:\scripts\skupiny.txt | foreach {Add-ADPermission –identity $_.jmeno –User "SG_PR_Test_DL_mgrs" –AccessRights WriteProperty –Properties Member}
Posledním příkazem jsme přidali oprávnění. Mohli jsme ho dát jednotlivě uživatelům, ale takhle stačí, když budeme měnit členství ve skupině a nemusíme
pořád dokola přidávat uživatele. A musela to být security group, protože k přidání oprávnění je potřeba security principal. A to distribuční list není.
Pokud máte zkušenost s Exchange 2007, tak víte, že teď jste přidali oprávnění a tito dva uživatelé můžou pomocí Outlooku přidávat členy skupin, které
vlastní. Klidně to můžete vyzkoušet, ale nepůjde to. Proč? Protože Exchange 2010 nastavuje oprávnění pomocí RBAC. Existuje role, která se jmenuje
MyDistributionGroups a tato role chybí v Default Role Assignment Policy. Proč? Protože ta role je silnější, než by se nám mohlo líbit. Pokud by byla
nasazena, tak bude mít uživatel právo:
- měnit členy skupiny (to chceme)
- vytvořit novou skupinu (to nechceme)
- smazat skupinu, které je vlastník (to nechceme)
My bychom potřebovali jen to, aby mohli uživatelé měnit členství vlastních skupin. Co s tím? Použijeme script od Microsoftu.
Manage-GroupManagementRole.txt
Originál je zde:
http://gallery.technet.microsoft.com/scriptcenter/8c22734a-b237-4bba-ada5-74a49321f159
Vytvoříme nový soubor s názvem Manage-GroupManagementRole.ps1 a vložíme do něj obsah txt souboru. Spustíme script s dvěma parametry.
.\Manage-GroupManagementRole.ps1 -creategroup -removegroup
Co jsme vlastně udělali? Script vytvoří novou RBAC roli, jejíž je MyDistributionGroups Role matkou. Odebere cmdlety remove-distributiongroup
a new-distributiongroup z této role. Přiřadí roli do Default Role Assignment Policy. A teď už to bude fungovat. Uživatel Kovar Honza si otevře
outlook. V něm otevře Address book, najde skupinu ... ups. Nenajde.
Buď ručně přegenerujeme offline address book a pak se podíváme znova. A nebo se mrkneme rovnou do GALu.
Pravým tlačítkem myši na jméno skupiny a vybrat z menu Vlastnosti.
Klikneme na Upravit členy.
Přidáme uživatele, kteří patří do skupiny. OK.
Klikneme na OK. A je to. Teď si ověříme, jestli je to v pořádku.
Dopadlo to výborně. Můžete začít předávat práci uživatelům. :-) Mimochodem, kromě Outlooku to funguje i v OWA, resp. v ECP. Takže
je možné členy měnit i v případě, že je uživatel mimo kancelář. Můžete si to vyzkoušet. Přihlašte se buď rovnou do ECP - v mém případě:
https://ex01/ecp/
a nebo do OWA a pak klikneme na Možnosti. Zobrazí se opět ECP.
Klikneme v levém menu na Skupiny. Zobrazí se následující obrazovka:
Pokud uživatel v pravém sloupci vybere skupinu a klikne na Podrobnosti, tak ji může spravovat:
Kliknutím na Přidat se zobrazí seznam mail enabled objektů, které je možné přidat jako členy skupiny. Po potvrzení se zobrazí jako členové skupiny.
Stačí kliknout na Uložit a máme hotovo.
|