Назад | Перейти на главную страницу

Что-то не хватает при добавлении пользователей AD с помощью powershell

Я хожу по кругу и надеюсь, что кто-нибудь укажет мне верное направление ...

Я создал файл .csv следующим образом

SamAccountName,Name,GivenName,Surname,DisplayName,Type,Path,Logon Name,UserPrincipleName,ScriptPath,Password
fredflinstone,Fred Flinstone,Fred,Flinstone,Fred Flinstone,User,"CN=users,DC=Test,DC=local",fredf@test.local,fredf@test.local,login.bat,Yabba

Я иду в PowerShell, бегу

import-module activedirectory
Import-CSV C:\Users1.csv | New-ADUser

Он успешно добавляет пользователей, но у меня есть проблемы

  1. это фактически не помещает Account User login name но помещает имя до 2000 года.
  2. он не вводит пароль
  3. Даже если я введу в поле Enabled значение $ true, они все равно отключены

Любая помощь будет оценена

  1. Имя входа не является одним из параметров, которые принимает New-ADUser. Видеть http://technet.microsoft.com/en-us/library/ee617253.aspx для списка того, что вы можете использовать.
  2. Пароль не будет работать таким образом, так как он должен быть SecureString по соображениям безопасности. Если вы хотите загрузить пароль из cSV, вам придется превратить его в более полный сценарий, который может преобразовывать значение из CSV в secureString.
  3. Интересно, установлен ли параметр enabled со строкой «$ true» вместо логического значения в результате прохождения через файл CSV?

Вышесказанное верно, вам необходимо иметь UserPrincipalName что-то вроде этого, если собирать информацию из CSV:

-UserPrincipalName ($_.SamAccountName + '@' + $_.DomainName)

SamAccountName и DomainName оба столбца в моей электронной таблице CSV.

  1. Вам необходимо указать userPrincipalName в поле User Login Name.

  2. Get-Help Set-ADAccountPassword -examples: первый показывает, как установить пароль AD.

  3. Поскольку вы не установили пароль, вы не можете включить учетную запись в любом случае.

Итак, ваш скрипт будет иметь три вызова:

Create the user (New-ADUser)
Set the password (Set-ADAccountPassword)
Enable the user (Set-ADUser)

Вот вариант переменной:

$a = Get-Date
$Man = $a.Month
$ti = $a.Hour
$min =$a.Minute
-AccountPassword (ConvertTo-SecureString -AsPlainText "Password$Man$ti$min" -Force)

Часть пароля может быть решена этим

-AccountPassword (ConvertTo-SecureString -AsPlainText "12345678" -Force)

где вы можете поменять местами 12345678 с переменной.