Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Powershell Изменение данных пользователя во всех OU (http://forum.oszone.net/showthread.php?t=258744)

morrozilla 16-04-2013 14:37 2133717

Powershell Изменение данных пользователя во всех OU
 
Добрый день.
Требуется изменять данные пользователей из файла этого я добился следующем скриптом:
Цитата:


$csv = gc C:\Tools\users-test.csv -Encoding String | ConvertFrom-Csv
$ou = "OU=Кадры,DC=test,DC=local"

$objects = [ADSI]"LDAP://$ou"
Write-Output $objects
foreach ($user in $objects.children | where {$_.SchemaClassName -eq "user"})
{
$csv | ? { $_.sAMAccountName -eq $user.sAMAccountName} | % {
Write-Output $user
$user.Put("Company",$_.Company)
$user.Put("title",$_.title)
$user.Put("Department",$_.department)
$user.Put("Manager",$_.manager)
$user.Put("mail",$_.email)
$user.Put("telephoneNumber",$_.telephoneNumber)
$user.SetInfo()
}
}
но проблема в том что в файле указаны пользователи из всей AD, а скрипт изменяет только в одном OU как сделать так что бы поиск и изменение происходил по всем OU

Kazun 16-04-2013 14:50 2133727

Код:

$users = ([adsisearcher]"(&(objectcategory=person)(objectclass=user))").FindAll() | Foreach {$_.GetDirectoryEntry()}
foreach ($user in $users) {...}


morrozilla 16-04-2013 15:26 2133762

Огромное спасибо, задача выполнена


Время: 11:56.

Время: 11:56.
© OSzone.net 2001-