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

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

sea707 06-09-2012 04:09 1983920

Редактирование свойств контакта Active Directory
 
Доброго времени суток! В домене добавлены контакты электронной почты, как настроить синхронизацию должностей из csv-файла?

Для редактирования должностей пользователя есть команда: Get-ADUser и Set-ADUser

И такого вида скрипт:
$searchBase = 'OU=users,DC=domen,DC=local,DC=ru'
$csvFile = 'all.csv'
$header = "Должность","ФИО"
import-module ActiveDirectory

import-csv `
-path $csvFile `
-header $header `
-useCulture `
| % {
$user = Get-ADUser `
-LDAPFilter "(displayName=$($_.ФИО))" `
-SearchBase $searchBase `
-SearchScope Subtree `
-Properties `
cn, displayName, title
if ($user) {
$dolg = $_.Должность

if ($user.title -ne "$dolg")
{

$user.title = $dolg
Set-ADUser -Instance $user

}

}
}

Kazun 06-09-2012 11:13 1984042

Если это контакт,то следует использовать *-ADObject командлеты.

Set-ADObject -Instance $user -Replace @{title=$dolg}

sea707 06-09-2012 13:05 1984125

Окончательный вариант:

$searchBase = 'OU=users,DC=domen,DC=local,DC=ru'
$csvFile = 'all.csv'
$header = "Должность","ФИО"
import-module ActiveDirectory

import-csv `
-path $csvFile `
-header $header `
-useCulture `
| % {
$user = Get-ADObject `
-LDAPFilter "(displayName=$($_.ФИО))" `
-SearchBase $searchBase `
-SearchScope Subtree `
-Properties `
cn, displayName, title
if ($user) {
$dolg = $_.Должность

if ($user.title -ne "$dolg")
{

$user.title = $dolg
Set-ADObject -Instance $user

}

}
}


Время: 18:17.

Время: 18:17.
© OSzone.net 2001-