Správa užívatelov
Úloha
Vytvorte na serveri organizačné štruktúry pre chod školy.
Základná je skola. V tejto OU vytvorte ďalšie organizačné jednotky
ziaci ucitelia zamestnanci
Vytvorte 250 žiackych a 50 učiteľských užívateľov.
Prihlasovacie meno tvoria štyri znaky priezviska a dva znaky mena užívateľa.
Napríklad Peter Plesník bude mať prihlasovacie meno plespe
Všetky znaky sú malými písmenami.
Pracujte na serveri z pracovnej stanice pomocou vzdialeného pripojenia.
Teória
Vzdialený prístup
Takmer nikdy v reálnej praxi nesedí správca servera pri serveri na nepracuje priamo na ňom.
Servery sú výkonné počítače ktoré sú hlučné pretože potrebujú výkonné chladenie. Ďalej sú umiestnené
v špeciálnych miestnostiach. Týmto je zabezpečené že k nim má prístup iba opravnený personál. A tiež sú
tu vytvorené podmienky pre ich spoľahlivú prácu oko je už spomínané chladenie, zálohovanie pri výpadku
napätia v rozvodnej sieti. Alebo špeciálny automatický hasiaci systém ktorý minimalizuje finančné straty
v prípade nutnosti hasenia. (Hasiť vodou znamená následne vyhodiť zariadenia v hodnote miliónov).
Preto sa servery spravujú prostredníctvom vzdialeného prístupu. Každý operačný systém dnes obsahuje aplikáciu
pre vzdialený prístup k pracovnej ploche. Vo windows 7 sa k nemu dostaneme nasledovným postupom.
Aktivujete ponuku Štart v ľavom dolnom rohu. Potom Všetky programy.
A nakoniec Príslušenstvo a tu sa nachádza aplikácia Pripojenie vziadialen pracovnej plochy

Aby sme mohli prenášať nielen údaje cez schránku ale aj medzi diskami je potrebné upraviť nastavenie.
Najprv vyberieme Zobraziť možnosti
Tu si vyberieme záložku Lokálne prostriedky a klikneme na tlačítko Ďalšie

Dostaneme sa na finálne miesto kde povolíme aby sme videli diskové jednotky lokálneho počítača na vzdialenom počítači.

Následne už len skryjeme možnosti. Do políčka počítač napíšeme IP adresu servera pripojíme sa.
Potvrdíme SSH klúč. Zadáme meno užívateľa a jeho heslo. A môžeme vzdialene pracovať.
Správa užívateľov
Správa užívateľov je jedna z častých úloh správcu systému. Pomocou klikacích nástrojov to vyzerá byť všetko veľmi jednoduché.
Problém je že zvyčajne je potrebné spravovať veľké množstvo užívateľov v krátkom čase. Typickým príkladom je požadavka hromadného vytvorenia
užívateľov podľa dodaného zoznamu. V našej modelovej situácii predpokladajme že vytvárame nový windows server pre nejakú strednú školu.
Máme k dispozícii zoznam všetkých osôb ktoré majú mať na danom serveri prístupové konto. Tento súbor si vytvoríme v tabuľkovom kalkulátore.
Príprava dát
V našom prípade mená osôb získame z nejakého internetového zoznamu. Požadovaný počet je okolo 300 osôb. Pre jednoduchosť predpokladajme
že sa v organizácii nevyskutujú dve osoby s rovnakým menom a priezviskom. (Samozrejem môžu sa vyskytovať osoby s rovnakými menami alebo s rovnakými priezviskami)
Ďalej predpokladajme že osoby majú iba jedno meno a priezvisko, ktoré je oddelené medzerou. Tento zoznam sa bude nachádzať v prvom stĺpci tabuľky (stĺpec A).
Aby sme vedeli splniť zadanie úlohy je potrebné ovládať niekoľko textových funcí tabuľkového kalkulátora excel.
-
=FIND(retazec1;retazec2) táto funkcia zistí či sa reťazec 1 nachádza v reťazci2. Ak áno,
tak vráti číslo ktoré označuje počiatočnú pozíciu reťazca1 v reťazci2. Použite túto funkciu na to aby ste našli medzeru ktorá oddeľuje
meno a priezvisko
-
=LEN(retazec) táto funkcia zistí celkový počet znakov reťazca
-
=LEFT(retazec;pocetZnakov) táto funkcia vezme z retazca zadaný počet znakov od začiatku. Použite túto funkciu
na separovanie mena užívateľa, tak že vyberiete iba znaky po medzeru. Ďalšie využitie v úlohe je ziskanie určitého počtu znakov z mena
a z priezviska.
-
=RIGHT(retazec;pocetZnakov) táto funkcia vezme z retazca zadaný počet znakov od konca. Použite túto funkciu
na separovanie priezviska užívateľa, tak že vyberiete iba znaky od konca po medzeru. Počet znakov treba vypočítať z celkového počtu znakov a pozície medzery
-
=CONCATENATE(retazec1;retazec2) táto funkcia spojí retazec1 a retazec2 do jedného retazca. Použite na pospájanie čiastkových
častí prihlasovacieho mena.
-
=LOWER(retazec) táto funkcia prevedie všetky znakytextu na malé písmená.
Zvyšok požadovaných informácií sa do tabuľky jednoducho zapíše.
Súbor treba mať uložený aj vo formáte excel (XLS) a tiež vo formáte CSV
Odstránenie diakritiky
Na odstránenie diakritiky môžete použiť program ktorý nájdete U:\plesnik\SXT\rmdia.exe
Program sa používa v príkazovom riadku. Očakáva jeden, alebo dva parametre
rmdia vstupnySubor #odstráni diakritiku zo vstupného súboru a výsledok vypíše na obrazovku
rmdia vstupnySubor vystupnySubor #odstráni diakritiku zo vstupného súboru a výsledok zapíše do výstupného súboru
Data z excelu musia byť uložené ako CSV súbor oddelený čiarkami. Na iný typ CSV nebude program na odstránenie diakritiky fungovať.
Pred uložením dát do CSV formátu si nezabudnite excelovský súbor uložiť. V CSV formáte sa nedajú ukladať vzorce a je veľmi nemúdre
prísť o pracne vygenerované výpočty. Budú sa v budúcnosti ešte veľmi hodiť.
Na uloženie použite príkaz Uloz Ako

Zobrazenie prípony v mene súboru
V tomto momente máme uložené dva súbory s rovnakým menom ale rôznou príponoy.
Prípona .xlsx označuje súbor vo formáte programu excel. Prípona .CSV
označuje obyčajný textový súbor. Problém je že windows vo svojom základnom nastavení skrýva prípony súborov známich typov.
Ukázalo sa že toto nastavenie je veľmi neštastné lebo naši žiaci nevidia žiadny rozdiel v tých dvoch súboroch a nevedie teda čo majú kedy otvoriť, kopírovať, atď.
Je preto maximálne výhodné toto nastavenie zmeniť. Postup je nasledovný
Aktivujete ponuku Štart v ľavom dolnom rohu. Potom Ovládací panel. A nakoniec Možnosti priečinka
Tam si zobrazíte záložku Zobrazenie

Teraz stačí zrušiť nastavenú voľbu Skryť prípony známych typov
Od tohoto okamihu sa budú zobrazovať aj prípony všetkých súborov.
Skript pre import užívateľov
Celá úloha je popísaná na tejto stránke
Programovanie v PowerSheli sa veľmi podobá programovaniu v PHP.
Teraz si popíšeme prvky skriptu ktorý import užívateľov vykoná
-
Poznámky - všetko čo sa nachádza za znakom # sa považuje za poznámku a nemá
žiadny vplyv na vykonávanie skriptu.
# toto je text ktory popisuje co sa deje v nasledovných riadkoch
-
Import modulov. Podobne ako aj v iných programovacích jazykoch môžeme používať hotové moduly (knižnice)
Import-Module ActiveDirectory #načítaj modul s príkazmi pre prácu s Active Directory
-
Premenné. Premenná sa označuje znakom $.
Takto špeciálne označená premená sa potom môže nachádzať aj v textovom retazci a rozpoznaná ako premenná
$UPN = "sosst.edu.sk" #definuje premennú s menom UPN a priradí jej textový reťazec
$email = "janko@$UPN" #premenná email obsahueje text janko@sosst.edu.sk
$username = $User.loginName #User je objekt a loginName je jedna z jeho interných premenných.
-
Podmienený príkaz pomocou ktorého môžeme vetviť výkonávanie skriptu na základe podmienky.
Ak je podmienka pravdivá vykonajú sa príkazy v prvom bloku. Ak je podmienka nepravdivá, vykonajú sa
príkazy ktoré nasledujú v bloku za slovom else
if (podmienka) {
prikaz1
prikaz2
...
} else {
prikaz3
prikaz4
...
}
-
Cyklus ktorý prechádza všetkými prvkami objektu ak ide o objekt typu Collection
Premenná element obsahuje postupne všetky prvky objektu object. Pričom sa vždy vykonajú príkazy v tele cyklu
foreach ($element in $object) {
prikaz1
prikaz2
...
}
-
Nasledovný obrázok ukazuje ako je najvýhodnejšie písať a spúštať skripty na servery. Pomocou ponuky štart si spustite
Power Shell ISE. Skratka ISE označuje Integrated Scripting Environment
Všimnite si že ide o kompletné vývojové prostredie ako ho poznáte z iných programovacích jazykov.
V jednej časti sa píše kód skriptu (vľavo hore). V spodnej časti je okno kde sa zobrazuje výstup pri vykonávaní skriptu (vľavo dole).
V pravej časti je okno ktoré poskytuje informácie o zvolenom príkaze (vpravo). V prípade potreby si môžete vyvolať podrobný help k danému príkazu (okno v strede)
Skript sa dá spustiť pomocou ikony Run Script, alebo klávesou F5.
Ďalej si všimnite v príkazovej lište príkaz Debug.
Pomocou príkazov v tomto menu sa dá nastaviť Break point na ľubovolnom príkaze skriptu.
a pokračovať ďalej v debugovaní napríklad krokovaním, alebo zobrazením obsahu premenných. To sa robí tak že sa na
text označujúci názov premennej umiestni kurzor myši. Obsah premennej sa potom zobrazí v malo oknienku.
Postup
-
Vytvorte na serveri organizačnú štruktúru pomocou organizačných jednotiek
Základná je skola. V tejto OU vytvorte ďalšie organizačné jednotky
ziaci ucitelia zamestnanci
-
Otvorte si na pracovnej stanici tabuľkový kalkulátor excel
-
Nájdite na intrenete cca 300 slovenských mien. Uložte si ich do prvého stĺca tabuľky
-
Do ďalšieho stĺpca "vypočítajte" meno osoby
-
Do ďalšieho stĺpca "vypočítajte" priezvisko osoby
-
Do ďalšieho stĺpca "vypočítajte" prihlasovacie meno osoby podľa nasledovného pravidla:
prihlasovacie meno obsahuje prvé štyri písmená priezviska a potom prvé dve písmená mena
Moje prihlasovacie meno potom bude plespe
-
Upravte prihlasovacie meno aby neobsahovalo veľké písmená.
-
Odstránte z prihlasovacieho mena diakritiku
-
Pridajte ďalšie stĺpce s požadovanými informáciami pre užívateľské konto:
Oddelenie
Heslo OU
Vyplnte užívateľom príslušné údaje
Pomocou stĺpca OU rozdelte užívateľov do príslušných organizačných jednotiek
-
Vytvorte si vstupný CSV súbor zatiaľ iba s dvomi riadkami - s jedným žiakom a s jedným učiteľom.
-
Skontrolujte si či máte v Server manažeri povolenú vzdialenú plochu Remote Desktop
-
Prihláste sa z windows stanice na server pomocou aplikácie Pripojenie vzdialenej pracovnej plochy
-
Podľa návodu na stránke ALIho TAJRANa
si vytvorte vlastný skript pre import užívateľov do AD. (Možete upraviť jeho skript na vlastné podmienky).
Pridajte ďalšie voľby tak aby bolo zabezpečené že užívateľ po prihlásení nemusí zmeniť heslo a že heslo zostane trvale platné.
-
Odladte si skript na vstupnom testovacom CSV súbore
-
Zavolajte vyučujúceho na kontrolu naimportovaných užívateľov
-
Funkčný skript využite na finálne vytvorenie všetkých 300 užívateľov.