Выполнить RDP-соединение на нескольких серверах

У нас есть тысячи серверов Windows в нашей сети. Для какой-то работы нам нужно войти на 100+ серверов. Мы делаем это вручную. Ввод имени сервера и предоставление учетных данных. Можно ли создать пакетный файл / скрипт, чтобы эта работа могла быть автоматизирована. Как мы просто создаем текстовый файл или CSV и запускаем скрипт. Скрипт может открыть сеанс mstsc и ввести учетные данные в mstsc. Мы можем определить имя пользователя и пароль в скрипте.

2 ответа

Решение

Подумайте об использовании диспетчера удаленных рабочих столов - remotedesktopmanager.com, он позволяет вам создавать несколько предопределенных удаленных рабочих столов, сохранять для них различные настройки rdp и более удобно переключаться между рабочими столами.

Также, когда вы подключаетесь через обычный mstsc, вы можете сохранить его как отдельный файл rdp и попросить его запомнить учетные данные при первом подключении, и просто сохранить отдельные файлы rdp таким образом.

Это запустит удаленный рабочий стол для всех серверов, но вам все равно придется вводить учетные данные. Существует несколько способов реализации единого входа, но это применимо только к Windows 2008 и 2008 R2. mstsc не имеет переключателей для имени пользователя или пароля, поэтому он не может быть записан в сценарии. Нет даже взлома, поскольку вы не можете использовать sendkeys для окна удаленного рабочего стола.

Создайте файл с именами серверов по одному на строку и поместите его в тот же каталог, что и пакетный файл.

Создайте следующий пакетный файл

@echo off
setlocal

cd /d %~dp0
set file=Servers.txt

for /f %%a in (%file%) do (
    echo mstsc /v:%%a 
)

Удалите эхо, чтобы фактически запустить Удаленный рабочий стол. По крайней мере, это занимает 1 шаг из уравнения, и вы всегда можете сохранить свои учетные данные, чтобы он не запрашивал их, что более безопасно, чем помещать их в файл.

Другие вопросы по тегам