Export Юзеров из AD на PoSh

26 Ноя 2009
278
0
16
37
#1
Была задачка выгрузить юзеров с некоторыми атрибутами с AD вот что получилось решил поделиться. Все выгружается в html но легко правитса в Excel или Word.
Код:
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
import-module ActiveDirectory
Get-ADUser `
    -Filter * `
    -SearchBase 'FQDN ващего домена или OU' `
    -SearchScope Subtree `
    -Properties `
        sAMAccountName, displayName, givenName, sn, initials, MemberOf, mail `
    | select-object `
        -property `
			@{Name = "Login"; Expression = {$_.sAMAccountName;}}, `
            @{Name = "ФИО"; Expression = {$_.displayName;}}, `
            @{Name = "Фамилия"; Expression = {$_.sn;}}, `
            @{Name = "Имя"; Expression = {$_.givenName;}}, `
            @{Name = "Инициалы"; Expression = {$_.initials;}}, `
            @{Name = "e-mail"; Expression = {$_.mail;}},`
			@{Name = "Член групп"; Expression = {$_.MemberOf;}} `
	| convertTo-html -head $a -body "<H2>ЧеЛовеКоиДы</H2>"`
    | out-File
Атрибуты для User можно найти на tehnet. В качестве IDE для PoSh пользуюсь PowerGui удобная чтука.
 
Последнее редактирование:
15 Фев 2011
61
0
6
#3
from old school:
CSVDE -d "OU=группа,DC=домен,DC=домен" -f users.txt -r objectClass=user -u

остовляем только фамиилию и имя
awk '{print ($1, $2 )}' users.txt | sed -e 's/^.\{4\}//' > users2.txt

добовляем нужное для хмл цискиной
cat users2.xml | sort -n | awk '{print ("<Name>" $1 ",", $2 "</Name>" )}' | awk '{print ("<DirectoryEntry>" $1, $2 "<Telephone></Telephone></DirectoryEntry>" )}' > users_en.xml

для справочника делал может кому пригодиться, меняется как захотите в 1-2 строки только *nix нужен

процедура не вся, пропущено чудесное превращение в транслит по средствам php, но главная тут первая строчка
CSVDE -d "OU=группа,DC=домен,DC=домен" -f users.txt -r objectClass=user -u
достаточно это выполнить в cmd что бы получить всех пользователей домена в файле users.txt со всеми атрибутами
можно и с параметрами -l SamAccountName,CN,Distinguishname и.т.д.
http://technet.microsoft.com/ru-ru/library/cc772704%28WS.10%29.aspx
 
Последнее редактирование: