+7 495 230 03 03 8 800 222 50 03

Инструкция для смены паролей локальных пользователей

Быстро и удобно это можно сделать, используя список в Excel и скрипт, который автоматически сменит пароли.

Предварительные требования

  • PowerShell должен быть установлен на вашей системе.
  • Модуль ImportExcel должен быть установлен для работы с Excel-файлами. Команда для установки: Install-Module -Name ImportExcel.
  • Excel-файл должен содержать два столбца: “Пользователи” и “Новый пароль”.

Пример структуры файла Excel

Пользователи Новый пароль
user1 password123
user2 newpass456

Шаги выполнения

  1. Укажите путь к Excel-файлу: $excelFilePath = “0-users.xlsx”.
  2. Загрузите данные из Excel с помощью команды Import-Excel, которая импортирует содержимое файла в переменную $usersData..
  3. Обработка данных: Скрипт проходит по каждому пользователю в таблице, проверяет наличие имени пользователя и нового пароля. Если данные корректные, выполняется команда для смены пароля: Set-LocalUser -Name $username -Password $securePassword В случае ошибки или пустых данных, скрипт записывает соответствующее сообщение в результат.
  4. После обработки всех записей, скрипт сохраняет результаты выполнения (успех или ошибка) обратно в Excel в новый лист под названием UpdatedUsers:. $results | Export-Excel -Path $excelFilePath -WorksheetName “UpdatedUsers”

Пример работы скрипта

  1. Скрипт изменяет пароль для пользователя user1 на password123. Если операция прошла успешно, статус будет «Success». Если произошла ошибка, например, если пользователь не найден, статус будет «Failed», с подробным описанием ошибки.
  2. Если имя пользователя или пароль пустые, скрипт пропустит эту запись и запишет статус как «Failed: Username or password is empty or null».

Запуск скрипта

  1. Скопируйте скрипт в файл PowerShell, например ChangePassword.ps1.
  2. Откройте PowerShell с правами администратора и запустите скрипт: .\ChangePassword.ps1.
  3. Результат: После завершения работы скрипта, обновленные данные будут записаны в тот же файл Excel на новый лист под названием UpdatedUsers с указанием статусов для каждой записи.

Пример скрипта

# Путь к файлу Excel
$excelFilePath = "0-users.xlsx"

# Загрузка данных из Excel
$usersData = Import-Excel -Path $excelFilePath

# Создаем список для результатов
$results = @()

# Проход по всем пользователям
foreach ($row in $usersData) {
    $username = $row.Пользователи  # Имя пользователя в колонке "Пользователи"
    $newPassword = $row.'Новый пароль'  # Новый пароль во второй колонке
    
    if (-not [string]::IsNullOrWhiteSpace($username) -and -not [string]::IsNullOrWhiteSpace($newPassword)) {
        $status = "Success"
        
        try {
            # Смена пароля для локального пользователя
            $securePassword = ConvertTo-SecureString $newPassword -AsPlainText -Force
            Set-LocalUser -Name $username -Password $securePassword
        } catch {
            # Обработка ошибки, если пароль не удалось сменить
            $status = "Failed: $_"
        }

        # Добавление результатов в новый массив данных
        $results += [PSCustomObject]@{
            UserName     = $username
            NewPassword  = $newPassword
            Status       = $status
        }
    } else {
        # Если имя пользователя или пароль пустые, пропускаем и записываем статус
        $results += [PSCustomObject]@{
            UserName     = "N/A"
            NewPassword  = "N/A"
            Status       = "Failed: Username or password is empty or null"
        }
    }
}

# Запись обновленных данных обратно в Excel
$results | Export-Excel -Path $excelFilePath -WorksheetName "UpdatedUsers"

Не нашли ответа на свой вопрос?

Смотрите также

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.