Skript pro vytváření uživatelů v AD z Bakalářů

4 Aug

Dávám k dispozici skript v PowerShellu, který slouží k vytváření a úpravu účtů žáků v MS Active Directory na základě exportu dat ze systému Bakaláři. Vedle toho umožňuje vytvořit importní soubory do systémů Cominfo, SafeQ, BonApp a umožňuje zapsat do položky otherPager číslo čipu z ISIC karty evidované v Bakalářích. Chování je možné ovlivnit pomocí parametrů skriptu.

Žáky skript vytváří v zadané OU ve kterých vytváří podjednotky dle roku nástupu a pro jejich jednoznačnou identifikaci využívá evidenční číslo z Bakalářů, které zapisuje u účtu v AD do položky employeeID. Pokud není nastaveno v parametrech jinak, na začátku zakáže všechny účty v podřízených OU a pak povoluje ty, které najde v exportu z Bakalářů. U existujících účtů dále upraví případnou změnu jména, přeřazení do nové třídy (popis a přidá do skupiny třídy).

U nového žáka provede vytvoření účtu, nastavení vlastností uživatele, vytvoření domovského adresáře, přiřadí do skupiny třídy, nastaví email (standardně jako jmeno.prijmeni.<roknastupu>@domena.cz a přiřadí do skupiny toAzureAD, kterou používáme jako filtr pro objekty synchronizované do AzureAD. Nově vytvořené uživatele i s heslem vypíše do CSV do adresáře Output, tam případně vytvoří i importní CSV soubory pro další systémy a umístí tam protokol o činnosti programu.

Vstupní soubor pro skript je export z Bakalářů do CSV (UTF-8, nutno přeložit v notepadu kvůli ověření kódování) s položkami Jmeno, Prijmeni, Trida, Evid_Cislo, ISIC_Cip (nepovinné) .

Vedle tohoto skriptu běžně mám umístěný druhý skriptík, který obsahuje zadané parametry dle konkrétní školy a slouží k jednoduchému spuštění importu žáků se stejnými parametry bez velkého přemýšlení.

Běžné použití je:

./Add-ADZaci.ps1 --AdDomain="skola.local" --InetDomain="skola.cz" --GroupOU="OU=Groups,OU=ZS,DC=skola,DC=local" --HomeDrive="H:" --HomePath="\server01.skola.local\home\std" --Pololeti=2 --SkolaNazev="Super škola" --ZaciOU="OU=STD,OU=Users,OU=ZS,DC=skola,DC=local" --ZaciCSV=export.csv

Parametr Pololeti má význam v době letních prázdnin a určuje, v jakém roce jsou Bakaláři. Pokud jsou nastupující žáci v nultém ročníku (Bakaláři jsou ve starém školním roce) zadejte druhé pololetí. Pokud jsou nastupující žáci v prvním ročníku (Bakaláři jsou v novém školním roce) zadejte první pololetí. V potaz se bere jen v červenci a srpnu, jinak ho určuje sám dle aktuálního měsíce.

Leave a Reply

Your email address will not be published. Required fields are marked *