PowerShell - [решено] Powershell Изменение данных пользователя во всех OU

Ответить
Аватара пользователя
morrozilla

PowerShell - [решено] Powershell Изменение данных пользователя во всех OU

Сообщение morrozilla »

Добрый день.

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


Цитата:





$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

Re: PowerShell - [решено] Powershell Изменение данных пользователя во всех OU

Сообщение Kazun »

Код:

Код: Выделить всё

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

Вернуться в «Скриптовые языки администрирования Windows»