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'
Dobry den,chtel bych se zeptat jak muzu zneutralizovat zablokovani www stranky pomoci powershell ISE?
odpověď na [1]Diego: format cé dvojtečka
odpověď na [1]Diego: OMG