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


$CSVParh = "users.csv"
$ErrorLog = "errors.log"
$CreatedCount = 0
$SkippedCount = 0
Clear-Content -Path $ErrorLog -ErrorAction SilentlyContinue
try {
    $Users = Import-Csv -Path $CSVParh
}
catch {
    Write-Host "Ошибка чтения CSV-файла: $($_.Exception.Message)" -ForegroundColor Red
    exit
}
foreach ($User in $Users) {
    if (Get-LocalUser -Name $User.Login -ErrorAction SilentlyContinue) {
        $ErrorMessage = "$(Get-Date): Пользователь $($User.Login) уже существует"
        Add-Content -Path $ErrorLog -Value $ErrorMessage
        $SkippedCount++
    }
    else {
        New-LocalUser `
            -Name $User.Login `
            -FullName $User.FullName `
            -Password (ConvertTo-SecureString -String $User.Password -AsPlainText -Force) `
            -Description "Создан скриптом"
        $CreatedCount++
    }
    catch {
        $ErrorMessage = "$(Get-Date): Ошибки при создании $($User.Login): $($_.Exception.Message)"
        Add-Content -Path $ErrorLog -Value $ErrorMessage
        $SkippedCount++
    }
}
Write-Host "Создано пользователей: $CreatedCount"
Write-Host "Попущено (ошибки): $SkippedCount"
Write-Host "См. $ErrorLog"