Массовое создание пользователей на MS Server 2008 R2
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 5 из 5

Комбинированный просмотр

  1. #1
    Пришел за помощью

    Регистрация
    27.11.2009
    Адрес
    Deutschland
    Сообщений
    15
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении

    По умолчанию Массовое создание пользователей на MS Server 2008 R2

    Может кто знает, есть ли программа для массового создания пользователей на MS Server 2008 R2? Экспорт 4ерез Excel итд.

  2. #2
    Просто юзер
    Аватар для alex_vag
    Регистрация
    11.04.2009
    Сообщений
    4
    Сказал(а) спасибо
    39
    Поблагодарили 6 раз(а) в 1 сообщении

    По умолчанию

    Присоединяюсь к вопросу...

  3. #3
    Morzil
    Гость

    По умолчанию

    А метод наследования прав, чем вас не устраивает?

  4. #4
    Пришел за помощью

    Регистрация
    27.11.2009
    Адрес
    Deutschland
    Сообщений
    15
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении

    По умолчанию

    Все устраивает. Просто надо вбить около 1000 пользователей с профилями итд.

  5. #5
    Гость форума

    Регистрация
    13.01.2010
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 1 раз в 1 сообщении

    Wink Создание множества пользователей на основе таблицы Excel

    Наконец-то я разобрался с этой проблемой:)
    Так что готов поделиться результатом:D

    В общем задача состоит из двух частей:
    1. получение значения ячеек в excel
    2. добавление пользователя в AD

    все эти задачи я решил с помощью powerShell (про него есть хорошая базовая бесплатная книжка http://blogs.technet.com/abeshkov/ar...4/3172943.aspx)

    И так, приступим к решению задач
    1.
    $xl = new-object -com Excel.Application
    $wbk="filename";
    $xl.Workbooks.open($wbk) | out-null #drop the object info output

    В этих строчках мы открываем екселевский документ с именем filename

    доступ к конкретной ячейке осуществляется следующим способом:
    $xl.Cells.Item(2,3).Value()
    или
    $xl.Cells.Item($i,3).Value(), где $i - переменная

    Я проверяю, что в ячейке ничего не содержится с помощью условия:
    ($xl.Cells.Item($i,3).Value() -match ".+") (Прочитав базовую тут всё будт понятно)

    В конце работы с книгой её нужно закрыть

    $xl.Workbooks.Close()

    2. создать пользователя в АД

    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    $objUser = $objDomain.Create("user", "CN=" + $UserDisplayName+",CN=Users")

    Изначально нужно задать значение переменно $UserDisplayName
    Теперь, как присвоить значение полям у пользователя:

    $objUser.Put("givenName",$UserFirstName)
    "givenName" - имя пользователя (не логин!)
    все названия атрибутов пользователя можно посмотреть в свойствах любого пользователя в АД в части Exstensions во вкладке Attribute Editor.

    Приведу самые полезные атрибуты
    $objUser.Put("initials",$UserMiddleInit)
    $objUser.Put("homeDirectory",$homeDir)
    $objUser.Put("profilePath",$profilePath)
    $objUser.Put("sn",$UserLastName)
    $objUser.Put("sAMAccountName",$UserLoginID)
    $objUser.Put("displayName",$UserDisplayName)
    $objUser.Put("userPrincipalName",$UserPrincipalNam e)

    после задания всех атрибутов:

    $objUser.SetInfo() - установить значения атрибутов
    $objUser.AccountDisabled = $false -активировать аккаунт
    $objUser.SetPassword("") - установать пароль
    $objUser.SetInfo()

    Вот в программной реализации и всё.

    Теперь как добавить пользователей в группу, и заставить их сменить пароль после первого входа в систему. Для этого выделяем вновь созданных пользователей в АД нажимаем Add to Group и выбираем соответствующую группу. Далее опять выделяем всех пользователей и нажимаем Properties и ставим активным переключатель User must change password at next log on.

    Вот и всё, теперь создание множества пользователей не проблема.

    И напоследок приведу исходный код:
    $xl = new-object -com Excel.Application
    $wbk="c:\tmp\09bimag.xls";
    $xl.Workbooks.open($wbk) | out-null #drop the object info output
    $i=2;
    $group="09BI_MAG"
    do
    {
    $name=$xl.Cells.Item($i,3).Value()
    $initial=$xl.Cells.Item($i,4).Value()
    $second=$xl.Cells.Item($i,5).Value()
    $user=$xl.Cells.Item($i,6).Value()
    $profilePath="\\neptune\winProfiles\"+$user
    $homeDir="\\neptune\winProfiles\"+$group
    $domainName="bim.hse.nnov.ru"
    $i++
    $UserFirstName = $name #givenName (i.e. First Name)
    $UserMiddleInit = $initial #initials (i.e. Middel Initial)
    $UserLastName = $second #sn or SurName (i.e. Last Name)
    $UserLoginID = $user #sAMAccountName; Pre-Windows 2000 login ID
    $UserPrincipalName = $user #secondary login ID or Active Directory Login ID
    $UserPrincipalName = $UserPrincipalName + "@" + $domainName #append your domain name here

    If ($UserMiddleInit -ne "")
    {
    $UserDisplayName = $UserFirstName + " " + $UserMiddleInit + ". " + $UserLastName #DisplayName & CN Name
    }
    else
    {
    $UserDisplayName = $UserFirstName + " " + $UserLastName #DisplayName & CN Name
    }
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    $objUser = $objDomain.Create("user", "CN=" + $UserDisplayName+",CN=Users") #This creates a local object for you to update
    $objUser.Put("givenName",$UserFirstName)
    $objUser.Put("initials",$UserMiddleInit)
    $objUser.Put("homeDirectory",$homeDir)
    $objUser.Put("profilePath",$profilePath)
    $objUser.Put("sn",$UserLastName)
    $objUser.Put("sAMAccountName",$UserLoginID)
    $objUser.Put("displayName",$UserDisplayName)
    $objUser.Put("userPrincipalName",$UserPrincipalNam e)
    $objUser.SetInfo() #This will create the User ID on the domain, disabled. This is required for you to set a password or enable the ID.
    $objUser.AccountDisabled = $false #By default the User ID is disabled and must be enabled to use.
    $objUser.SetPassword("") #Set this password to anything you need it to be
    $objUser.SetInfo()
    }
    while ($xl.Cells.Item($i,3).Value() -match ".+")
    $xl.Workbooks.Close()

  6. Пользователь сказал cпасибо:

    artcont (01.09.2011)

Похожие темы

  1. Для Windows server 2008 r2 (Украшенства, активация)
    от evgeny2009 в разделе Операционные системы
    Ответов: 2
    Последнее сообщение: 07.11.2010, 19:07
  2. Антивирус на Windows Server 2008
    от Cross в разделе СОФТ (SOFT)
    Ответов: 4
    Последнее сообщение: 29.01.2010, 08:13
  3. Хранение профилей пользователей на MS Server 2008 R2
    от EAndreyF в разделе В помощь системному администратору
    Ответов: 3
    Последнее сообщение: 25.01.2010, 14:51
  4. VirtualBox на MS Server 2003
    от Александр7 в разделе В помощь системному администратору
    Ответов: 4
    Последнее сообщение: 19.11.2009, 23:55
  5. Terminal Server на Server 2008
    от hipjitikara в разделе В помощь системному администратору
    Ответов: 1
    Последнее сообщение: 30.09.2009, 09:39

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •