CZ 
14.09.2024 Radka VÍTEJTE V MÉM SVĚTĚ

Active Directory a personální data uživatelů - PowerShell

| Petr Bouška - Samuraj |
Active Directory asi všichni používáme (pokud jsme na MS platformě) pro centrální identity management (zjednodušeně správu uživatelů a autentizaci). Ale otázka je, kolik firem využívá množství atributů, které můžeme u uživatele nastavovat. Přitom různé personální či organizační údaje většinou evidujeme v personálních systémech. Tomu se sice nevyhneme, ale můžeme zadat (či exportovat nebo synchronizovat) tyto údaje do AD. A k čemu je to dobré? Například poštovní klient Outlook může tyto údaje zobrazovat a zjednodušit nám komunikaci.
zobrazeno: 26 334x | Komentáře [3]

V tomto článku pouze stručně upozorníme na řadu atributů, které se (většinou) již od začátku nachází v Active Directory (AD). Budeme se věnovat atributům, které bych označil, že slouží k personální evidenci zaměstnanců. Jsou to třeba informace o oddělení, v kterém zaměstnanec pracuje, název jeho pracovní pozice, jeho telefonní linka a třeba také jeho vedoucí. Mezi tyto údaje bych zařadil i fotografii uživatele, které jsme se věnovali v předchozím článku Active Directory - fotografie u uživatelů nejen pro Outlook 2010.

Pokud používáme pro poštu Exchange server, tak považujeme za běžné, že se nám spojuje emailová adresa s uživatelovým jménem a automaticky se vytváří Global Address List. Ale třeba nás nenapadlo, že takto můžeme propojit spoustu dalších údajů. Nové verze programu MS Outlook 2007 a hlavně Outlook 2010 zvyšují integraci s údaji z AD (a nejen z něj, ale i z různých sociálních sítí) a dovolují u uživatele zobrazovat řadu údajů. Takže pak všude, kde se vyskytuje nějaký uživatel z AD (potažmo našeho seznamu kontaktů), můžeme najetím na jméno zobrazit relevantní údaje o uživateli. Velice hezky a užitečně působí fotografie uživatelů, které také Outlook 2010 integruje z AD.

Následující popis vychází z použití domény Windows Server 2008 R2, klienta Windows 7, aplikace Outlook 2010 spolu se serverem Exchange Server 2007.

Použití PowerShellu pro editaci Active Directory

Konfiguraci budeme provádět ze stanice s OS Windows 7, kde máme nainstalované Remote Server Administration Tools (RSAT). Abychom měli k dispozici PowerShell příkazy pro Active Directory (AD), tak musíme aktivovat tuto vlastnost v Turn Windows Features On or Off - Remote Server Administration Tools - Role Administration Tools - AD DS and AD LDS Tools - Active Directory Module for Windows PowerShell.

Potom můžeme použít Active Directory PowerShell Snap-In (z Administrative Tools) nebo (podle mne lepší) Windows PowerShell ISE (Accesories - Windows PowerShell ), jednoduché GUI pro PowerShell, které budu používat dále. V každém případě musíme PowerShell rozhraní spustit pod právy doménového admina (nebo uživatele, který má oprávnění provádět změny v AD). Takže na zástupce klikneme pomocí Shift + pravé tlačítko myši a v kontextovém menu zvolíme Run as different user.

Pokud použijeme PowerShell ISE, tak po každém spuštění musíme nejprve importovat modul ActiveDirectory, abychom měli k dispozici příkazy pro AD.

Import-Module ActiveDirectory

Personální data pomocí PowerShellu

V AD (potažmo LDAPu) je k dispozici řada atributů, které nehrají roli pro autentizaci/autorizaci, ale poskytují dodatečné informace o uživateli. Jednotlivé atributy můžeme nastavit pomocí GUI Active Directory Users and Computers (ADUC), buď pomocí rozhraní ve vlastnostech uživatele (záložky General, Address, Telephones, Organization) nebo přímo do hodnoty atributů (záložka Attribute Editor nebo aplikace ADSIEdit). A nebo pomocí PowerShellu, což určitě využijeme, pokud chceme hromadně doplnit data k velkému množství uživatelů. Jednoduše se dá vytvořit nějaký export dat z personálního systému a transformovat je do PowerShell skriptu, který nastaví všechny naše účty.

Některé tyto atributy, spolu s PowerShell příkazem pro nastavení, jsou uvedeny v následujících odstavcích.

Organizační údaje

Údaje, které vyplívají z organizační struktury firmy, jako název společnosti, divize, oddělení, kancelář a pracovní pozice.

Set-ADUser bouska -Company "Firma s.r.o."
Set-ADUser bouska -Division "Technická divize"
Set-ADUser bouska -Department "IT"
Set-ADUser bouska -Title "vedoucí IT"
Set-ADUser bouska -EmployeeID "1"

Zajímavou možností je i nastavení řídící struktury, tedy každému uživateli můžeme vybrat jiného uživatele jako nadřízeného (manager). U vedoucích potom vidíme seznam jejich podřízených a u každého zaměstnance můžeme vysledovat celou organizační strukturu. Tato funkce se také může využít v kalendáři Outlooku, kdy se takto automaticky generují týmy (Team) a jednoduše pak můžeme otevírat (pokud máme nastavena oprávnění) kalendáře svých kolegů v oddělení nebo svých podřízených.

Set-ADUser bouska -Manager boss

Kontaktní údaje

Mezi kontaktními údaji můžeme mít adresu, řadu telefonních čísel, email, apod.

Pozn.: LDAP atribut telephoneNumber se zde zadává přes parametr OfficePhone!

Set-ADUser bouska -Office "Praha"
Set-ADUser bouska -StreetAddress "Ulice 50"
Set-ADUser bouska -City "Praha 1"
Set-ADUser bouska -PostalCode "10000"
Set-ADUser bouska -Country "CZ"
Set-ADUser bouska -OfficePhone "111"
Set-ADUser bouska -Mobile " +420123456789"

Různé způsoby konfigurace

Jak je uvedeno výše, pro nastavení parametrů uživatele se používá příkaz Set-ADUser, jeho popis je v MS dokumentu Set-ADUser. Pro čtení hodnot můžeme použít obdobně příkaz Get-ADUser.

Pokud nastavujeme atributy jednoho uživatele, tak je nemusíme nastavovat po jednom, ale můžeme hromadně.

Set-ADUser bouska -StreetAddress "Ulice 50" -City "Praha 1" -PostalCode "10000" -Country "CZ"

Stejně tak můžeme nastavit stejný atribut více uživatelům. Například všem, kteří se nachází v určité Organizational Unit (OU).

Get-ADUser -Filter * -SearchBase "OU=Firma,DC=firma,DC=local" | Set-ADUser -StreetAddress "Ulice 50" -City "Praha 1" -PostalCode "10000" -Country "CZ"

Založení uživatele a mailboxu

Nesouvisí to s výše uvedeným, ale když se bavíme o konfiguraci uživatelů pomocí PowerShellu, tak doplníme příkaz pro vytvoření uživatele spolu s emailovou schránkou na serveru Exchange 2007. Pokud používáme PowerShell ISE a ne Exchange Management Shell, tak nejprve musíme načíst příkazy Exchange serveru.

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin 

Uživatele vytvoříme s defaultním heslem 123456 a určujeme kontejner, v kterém se účet vytvoří.

$pass = ConvertTo-SecureString -AsPlainText -Force -String '123456' 
New-Mailbox -Name 'Bouška Petr' -Alias 'bouska' -OrganizationalUnit 'firma.local/Firma -UserPrincipalName 'bouska@firma.local' -SamAccountName 'bouska' -FirstName 'Petr' -Initials '' -LastName 'Bouška' -Password $pass -ResetPasswordOnNextLogon $false -Database 'MAIL\First Storage Group\Mailbox Database' -ActiveSyncMailboxPolicy 'Default'

Také můžeme uživatele rovnou zařadit do nějakých defaultních skupin.

Add-ADPrincipalGroupMembership -Identity bouska -MemberOf 'G Zaměstnanci'  

Související články:

PowerShell

Články týkající se Microsoft skriptovacího jazyku PowerShell, který se používá ve všech nových verzích MS OS a aplikací.

Active Directory a protokol LDAP

Správa firemní počítačové sítě využívající Microsoft OS většinou znamená správu Active Directory Domain Services (AD DS). Jedná se o velice rozsáhlou skupinu technologií, protokolů a služeb. Základem jsou adresářové služby, autentizace a komunikační protokol LDAP.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře
  1. [1] Diego

    Dobry den,chtel bych se zeptat jak muzu zneutralizovat zablokovani www stranky pomoci powershell ISE?

    Pondělí, 24.01.2011 02:05 | odpovědět
  2. [2] Vinetou

    odpověď na [1]Diego: format cé dvojtečka

    Úterý, 03.05.2016 13:53 | odpovědět
  3. [3] russian

    odpověď na [1]Diego: OMG :-(

    Úterý, 27.12.2016 16:50 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách