![]() |
Скрипт для добавления пользователей в AD
Доброго времени суток, уважаемые форумчане!
Написал скрипт для добавления пользователей в AD с помощью импорта из CSV-файла. Скрипт полностью жизнеспособный, но не могу понять как допилить его чтобы еще пользователи добавлялись в Группы безопасности. Так же не очень понятно как добавить скриптом некоторые атрибуты учетной записи (например полное название страны, отчество сотрудника). Параметр добавления кода страны указал в скрипте, возможно ли добавить параметр в CSV-файл? Тот же вопрос и с контейнером, в который добавляются пользователи (указан в скрипте). Код:
Import-CSV -Path "D:\Scripts\CreateNewUsersAD.csv"|ForEach-Object -process {New-ADUser -Name $_.Name В одну группу безопасности пользователей добавил запуском второго скрипта: Код:
Import-CSV -Path "D:\scripts\UserAddGpoup.csv"|ForEach-Object -process{Add-ADGroupMember -Identity $_.Group-Members $_.SamAccountName} Код страны добавил соответствующим столбцом Country и значением RU. Как добавить в CSV-файл поле с контейнером так же не ясно... |
1) полное название страны, отчество сотрудника - Использовать параметр OtherAttributes
-OtherAttributes @{'msDS-PhoneticDisplayName'="GlenJohn"} 2) В чем проблема указать несколько групп? Разделитель ; в csv файле для перечисления групп или заключить поле в двойные кавычки . Код:
Import-CSV -Path "D:\scripts\UserAddGpoup.csv"| ForEach-Object { |
Вот скрипт который позволяет добавлять пользователей в режиме реального времени без файла
Write-Host “Welcome to corp” # Set Variables from User Input $FirstName = Read-Host “Введите Имя” $LastName = Read-Host “Введите фамилию” $ThirdName = Read-Host "Введите отчество" $Login = Read-Host "Введите Login" $domain = "corp.int" $maildomain = "@corp.int" $DisplayName = ($LastName + " " + $FirstName +" "+ $ThirdName) $Title = Read-Host “Enter Empolyee’s Title” $Department = Read-Host “Enter Employee’s Department” $IPPhone = Read-Host “Enter Employee’s IPPhone Number” $CN = (“CN=” + $LastName + ” ” + $FirstName + " "+ $ThirdName) $mail = ($Login+ "" + $maildomain) $user = ($Login+ "@" + $domain) $Class = “User” $strUserName = $CN #connect to AD and create user $objADSI = [ADSI]“LDAP://OU=Users,DC=corp,DC=int” $objUser = $objADSI.Create($Class, $strUserName) $objUser.Put(“sAMAccountName”, $FirstName) # Commit the object in AD $objUser.setInfo() #Set General Tab Properties #Bind to the user Object $objADSI = [ADSI]“LDAP://$CN,OU=User,DC=corp,DC=int” $objUser.Put(“userPrincipalName”, “$firstName”) $objUser.Put(“givenName”, “$User”) $objUser.Put(“SN”, “$LastName”) $objUser.Put(“DisplayName”, “$DisplayName”) $objUser.Put(“sAMAccountName”, “$Login”) $objUser.Put(“Title”, “$Title”) $objUser.Put(“Department”, “$department”) $objUser.Put(“IPphone”, “$IPphone”) $objUser.Put(“mail”, “$mail”) $objUser.Put(“l”, “город”) $objUser.Put(“streetAddress”, “улица”) $objUser.Put(“company”, “ООО ""название"”") $objUser.Put(“telephoneNumber”, “+7 .....”) #set UserAccessControl $objUser.put(“userAccountControl”, 544) #Commit changes $objUser.setInfo() как добавить группы самого интересует может быть данный скрипт будет полозен |
Если нужно могу выложить VBS скрипт такого же плана только с функцией перевода логина в латиницу состоящим из имя.фамилия
|
Цитата:
Спасибо тебе добрый человек за полезнейший скрипт. Но из-за отсутствия знаний PowerShell намучился с файлом *.csv (Тупил с заголовком) Посему добавлю формат записи *.csv файла: Код:
SamAccountName,Group |
Время: 07:13. |
Время: 07:13.
© OSzone.net 2001-