Artykuł w wersji pdf - Support Online Sp. z o. o.
Transkrypt
Artykuł w wersji pdf - Support Online Sp. z o. o.
Windows PowerShell. Wykorzystanie w Active Directory Powłoka Windows PowerShell oferuje ponad 130 standardowych narzędzi wiersza polecenia, jest to język skryptów ukierunkowany na administrację oraz spójną składnię i narzędzia. Powłoka Windows PowerShell przyspiesza automatyzację zadań administrowania systemem, jak usługi Active Directory, serwer terminali i internetowe usługi informacyjne (IIS) 7.0. Zwiększa również zdolność organizacji do pokonywania problemów z zarządzaniem systemami specyficznych dla danego środowiska. W tym artykule przedstawiono jak można wykorzystać PowerShell do stworzenia dowolnej liczy użytkowników a także ich usunięcie w Active Directory. Aby stworzyć użytkownika należy: 1. Zastosować odpowiedniego dostawcę do sieci 2. Połączyć się z kontenerem dla użytkowników 3. Ustalić domenę 4. Ustalić dla obiektu klasę User 5. Powiązać z Active Directory 6. Utworzyć użytkownika za pomocą metody Create 7. Podać przynajmniej jeden atrybut sAMAccountName w metodzie Put 8. Zastosować SetInfo() wpisując tym samym użytkownika do Active Directory. Po wykonaniu poniższego skryptu stworzy się zgodnie ze wskazanym miejscem 10 nowych użytkowników: $aryText = Get-Content -Path "c:\dane.txt" $strCLass = "User" $intUsers = 10 $strName = "cn=Użytkownik" $objADSI = [ADSI]"LDAP://ou=MojTestOU,dc=northwood,dc=com" for ($i=1; $i -le $intUsers; $i++) { $objUser = $objADSI.create($strCLass, $StrName+$i) $objUser.put(”userAccountControl”, 544) $objUser.Put("description" , "Prosty użytkownik $i") $objUser.setInfo() $objUser.put("streetAddress", $aryText[0]) $objUser.put("postOfficeBox", $aryText[1]) Strona 1 z 4 $objUser.put("l", $aryText[2]) $objUser.put("st", $aryText[3]) $objUser.put("postalCode" , $aryText[4]) $objUser.put("c", $aryText[5]) $objUser.put("co", $aryText[6]) $objUser.put("countryCode", $aryText[7]) $objUser.SetInfo() $objUser.put("profilePath", $aryText[8]) $objUser.put("scriptPath", $aryText[9]) $objUser.put("homeDirectory", $aryText[10]) $objUser.put("homeDrive", $aryText[11]) $objUser.setInfo() } Wynik wygląda następująco: Dodatkowa linią w kodzie: $objUser.put(”userAccountControl”, 544), ma za zadanie zaraz po utworzeniu nowego użytkownika ustawić go na aktywny, gdyż domyślnie tworzone konto bez tego fragmentu kodu, będzie kontem wyłączonym. Fragment kodu z powyższego skryptu: $aryText = Get-Content -Path "c:\dane.txt" ………………………………… $objUser.put("streetAddress", $aryText[0]) $objUser.put("postOfficeBox", $aryText[1]) $objUser.put("l", $aryText[2]) $objUser.put("st", $aryText[3]) $objUser.put("postalCode" , $aryText[4]) $objUser.put("c", $aryText[5]) Strona 2 z 4 $objUser.put("co", $aryText[6]) $objUser.put("countryCode", $aryText[7]) $objUser.SetInfo() $objUser.put("profilePath", $aryText[8]) $objUser.put("scriptPath", $aryText[9]) $objUser.put("homeDirectory", $aryText[10]) $objUser.put("homeDrive", $aryText[11]) ma za zadanie wczytanie danych z zewnętrznego pliku tekstowego dane.txt. W pliku tekstowym każda linia odpowiada jej właściwości w Active Directory. Jeśli podamy każdą wartość w nowej linii możemy w prosty sposób wprowadzić każdą zmienną do określonego pola. Ilość użytkowników jaką można stworzyć zależy wyłącznie od tego jaką wartość nadamy zmiennej $intUsers. W tym przypadku jest to wartość 10, co oznacza, że zostało utworzonych dziesięciu użytkowników. Nie mniej jednak, nic nie stoi na przeszkodzie, żeby była to liczba np. 120. Efektem wczytywania danych z pliku tekstowego dane.txt są wypełnione następujące pola: Usuwanie wielu użytkowników: $strCLass = "User" $intUsers = 10 $strName = "cn=Użytkownik" $objADSI = [ADSI]"LDAP://ou=MojTestOU,dc=northwood,dc=com" for ($i=1; $i -le $intUsers; $i++) { Strona 3 z 4 $objUser = $objADSI.delete($strCLass, $StrName+$i) } Powyższy skrypt usuwa określoną w liczbie powtórzeń pętli użytkowników o nazwie Użytkownik. Nie stosując pętli można w ten sposób usuwać pojedyncze konta użytkowników, komputerów. Podsumowanie Powłoka Windows PowerShell ma szerokie zastosowanie, nie tylko przy tworzeniu użytkowników, ale praktycznie w każdym działaniu administratora sieci. Można między innymi wykorzystać ją do czyszczenia co pewien czas dziennika zdarzeń w Windows Exchange 2010 oraz do wszystkiego co można wykonać za pomocą graficznego interfejsu użytkownika (GUI). Używając konsoli cmdlet w Power Shell można również tworzyć obiekty, np. plik tekstowy z pewną zawartością lub pliki pakietu MS Office. Artykuł ekspercki opracował Paweł Jaroszewicz z firmy Support Online Sp. z o.o. Firma informatyczna Support Online świadczy szeroki zakres usług IT dla firm oraz instytucji. Oferujemy m.in. system kopii zapasowych plików SBBS, outsourcing IT, telefonię VoIP, pełne i częściowe wsparcie informatyczne oraz audyt informatyczny. Jeśli jesteście Państwo zainteresowani naszymi usługami i produktami – zapraszamy do kontaktu. Support Online Sp. z o.o. tel. + 22 335 28 00 e-mail: [email protected] www.support-online.pl Źródło: 1. Opracowanie własne Strona 4 z 4