$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"