Загрузка данных


function New-UserFromRecord {
    param([PSCustomObject]$UserRecord)
    
    $logon = $UserRecord.Logon
    $firstName = $UserRecord.FirstName
    $lastName = $UserRecord.LastName
    $ou = $UserRecord.OU
    $group = $UserRecord.Group
    $title = $UserRecord.Title
    
    if ([string]::IsNullOrEmpty($ou)) {
        $ou = "CN=Users,DC=contoso,DC=local"
    }
    
    try {
        $exists = Get-ADUser -Identity $logon -ErrorAction SilentlyContinue
        if ($exists) { 
            Write-Log "$logon уже существует"
            return $false 
        }
    }
    catch { }
    
    $password = New-RandomPassword
    $securePass = ConvertTo-SecureString $password -AsPlainText -Force
    
    New-ADUser -Name "$firstName $lastName" `
        -SamAccountName $logon `
        -UserPrincipalName "$logon@contoso.local" `
        -Path $ou `
        -AccountPassword $securePass `
        -Enabled $true
    
    Write-Log "СОЗДАН: $logon (пароль: $password)"
    return $true
}