Импорт контактов в AD через файл CSV - PullRequest
0 голосов
/ 19 июня 2019

Итак, в моем скрипте я создаю новое подразделение и импортирую контакты в AD.Создание OU работает нормально, но ни один из пользователей не импортирован, и нет никаких ошибок, сообщающих, что это не удалось.

New-ADOrganizationalUnit -Name "finance" -Path "DC=ucertify, DC=com"
Import-Module ActiveDirectory
$Users = Import-Csv C:\Users\Administrator\Downloads\financePersonnel.csv

foreach ($user in $users) 
{


$samAccountname = $user.SamAccount
$FirstName     = $User.First_Name 
$LastName = $User.Last_Name
$PostalCode = $User.PostalCode
$MobilePhone = $User.MobilePhone
$OfficePhone = $User.OfficePhone
$City = $User.City
$Country = $User.Country



}

1 Ответ

0 голосов
/ 20 июня 2019

Нет причин, по которым вам следует создавать переменные для всех свойств в файле CSV. Вместо этого используйте их напрямую, чтобы создать хеш-таблицу, которую можно использовать для разбивки параметров командлета New-ADUser, как показано ниже.

Import-Module ActiveDirectory

# the X.500 path of the Organizational Unit like:
$ouPath = "OU=Finance,DC=ucertify,DC=com"

# test if the OU already exists
if (!(Get-ADOrganizationalUnit -Identity $ouPath)) {
    New-ADOrganizationalUnit -Name "Finance" -Path $ouPath
}

Import-Csv C:\Users\Administrator\Downloads\financePersonnel.csv | Foreach-Object {
    # create a hashtable with all the properties from the CSV
    # format: ParameterName = Value
    $userProps = @{
        'Name'           = ('{0} {1}' -f $_.First_Name, $_.Last_Name).Trim()
        'SamAccountName' = $_.SamAccount
        'GivenName'      = $_.First_Name 
        'Surname'        = $_.Last_Name
        'PostalCode'     = $_.PostalCode
        'MobilePhone'    = $_.MobilePhone
        'OfficePhone'    = $_.OfficePhone
        'City'           = $_.City
        'Country'        = $_.Country
        'Enabled'        = $true
        # I'm guessing you want the user created in the new OU
        # If you leave this out, the Path parameter defaults to the Users container. 
        'Path'          = $ouPath
    }

    # now splat these properties to the New-ADUser cmdlet
    New-ADUser @userProps
}

Найдите командлет New-ADUser , чтобы увидеть больше свойств, которые вы можете установить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...