rango13
28-04-2018, 06:18
Добрый день!
$csvfile = 'D:\User_Info.csv'
$ADServer = 'DC01'
Import-Module ActiveDirectory
Clear-Host
Function Update-ADUsers {
Import-Csv -path $csvfile -Delimiter ";" -Encoding UTF8 | `
ForEach-Object {
$sam = $_.SamAccountName
$Manager = $_.manager
$Department = $_.Department
$Description = $_.Description
$Title = $_.Title
$Company = $_.Company
$Town = $_.l
$StreetAddress = $_.StreetAddress
$telephoneNumber = $_.telephoneNumber
$mobile = $_.mobile
$info = $_.info
$postalCode = $_.postalCode
$Pager = $_.Pager
}
Try { $SAMinAD = Get-ADUser -server $ADServer -LDAPFilter "(sAMAccountName=$sam)"}
Catch { }
If($SAMinAD -ne $null -and $sam -ne '')
{
$manager1 = Get-ADUser $Manager | select DistinguishedName
IF ($Manager -ne '' ) { Set-AdUser $sam -manager $Manager1 }
IF ($Department -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Department=$Department} }
IF ($Description -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Description=$Description} }
IF ($Title -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Title=$Title} }
IF ($Company -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Company=$Company} }
IF ($Town -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{l=$Town} }
IF ($StreetAddress -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{StreetAddress=$StreetAddress} }
IF ($telephoneNumber -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{telephoneNumber=$telephoneNumber} }
IF ($mobile -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{mobile=$mobile} }
IF ($info -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{info=$info} }
IF ($postalCode -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{postalCode=$postalCode} }
IF ($Pager -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Pager=$Pager} }
Set-ADUser $sam -clear wWWHomePage,facsimileTelephoneNumber,homePhone
}
}
Update-ADUsers
SamAccountName;manager;Department;physicalDeliveryOfficeName;Description;Title;Company;l;StreetAddre ss;telephoneNumber;mobile;Pager;info;postalCode;;
IvanovII;Director;Администрация;Администрация;Иванов Иван Иванович;Заместитель №1;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1001 (80001);+7 999 888 7777;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
IvanovID;Director;Администрация;Администрация;КИванов Иван Дмитриевич;Заместитель №2;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1002 (80002);+7 999 888 7778;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
IVANOVDD;;Администрация;Администрация;Иванов Дмитрий Дмитриевич;Директор;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1003 (80003);+7 999 888 7779;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
Логинюсь на сервер DC01, смотрю атрибуты пользователей(из csv-файла выше) в оснастке AD "Пользователи и компьютеры" - изменений нет. Вопрос: чего не так делаю?
$csvfile = 'D:\User_Info.csv'
$ADServer = 'DC01'
Import-Module ActiveDirectory
Clear-Host
Function Update-ADUsers {
Import-Csv -path $csvfile -Delimiter ";" -Encoding UTF8 | `
ForEach-Object {
$sam = $_.SamAccountName
$Manager = $_.manager
$Department = $_.Department
$Description = $_.Description
$Title = $_.Title
$Company = $_.Company
$Town = $_.l
$StreetAddress = $_.StreetAddress
$telephoneNumber = $_.telephoneNumber
$mobile = $_.mobile
$info = $_.info
$postalCode = $_.postalCode
$Pager = $_.Pager
}
Try { $SAMinAD = Get-ADUser -server $ADServer -LDAPFilter "(sAMAccountName=$sam)"}
Catch { }
If($SAMinAD -ne $null -and $sam -ne '')
{
$manager1 = Get-ADUser $Manager | select DistinguishedName
IF ($Manager -ne '' ) { Set-AdUser $sam -manager $Manager1 }
IF ($Department -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Department=$Department} }
IF ($Description -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Description=$Description} }
IF ($Title -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Title=$Title} }
IF ($Company -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Company=$Company} }
IF ($Town -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{l=$Town} }
IF ($StreetAddress -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{StreetAddress=$StreetAddress} }
IF ($telephoneNumber -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{telephoneNumber=$telephoneNumber} }
IF ($mobile -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{mobile=$mobile} }
IF ($info -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{info=$info} }
IF ($postalCode -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{postalCode=$postalCode} }
IF ($Pager -ne '' ) { Set-ADUser -server $ADServer -Identity $sam -Replace @{Pager=$Pager} }
Set-ADUser $sam -clear wWWHomePage,facsimileTelephoneNumber,homePhone
}
}
Update-ADUsers
SamAccountName;manager;Department;physicalDeliveryOfficeName;Description;Title;Company;l;StreetAddre ss;telephoneNumber;mobile;Pager;info;postalCode;;
IvanovII;Director;Администрация;Администрация;Иванов Иван Иванович;Заместитель №1;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1001 (80001);+7 999 888 7777;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
IvanovID;Director;Администрация;Администрация;КИванов Иван Дмитриевич;Заместитель №2;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1002 (80002);+7 999 888 7778;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
IVANOVDD;;Администрация;Администрация;Иванов Дмитрий Дмитриевич;Директор;"ООО ""Система+""";Новосибирск;пр. Яковлева, 20у;1003 (80003);+7 999 888 7779;;Обед с 13-00 до 14-00 (+3 МСК);123456;;
Логинюсь на сервер DC01, смотрю атрибуты пользователей(из csv-файла выше) в оснастке AD "Пользователи и компьютеры" - изменений нет. Вопрос: чего не так делаю?