Skip to content

Instantly share code, notes, and snippets.

@CIDJEY
Created November 2, 2020 15:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CIDJEY/4b64244d2e0d35e5a02a2cca5b9b252e to your computer and use it in GitHub Desktop.
Save CIDJEY/4b64244d2e0d35e5a02a2cca5b9b252e to your computer and use it in GitHub Desktop.
Testo: Active Directory + Workstation auto deploy
network net1 {
mode: "internal"
}
param domain_name "mydomain.com"
param ad_user_login "FooBar"
param ad_user_default_password "ThisIsDefaultPassword1!"
include "win_server.testo"
include "workstation.testo"
test connect_to_domain: win_server_add_user, workstation_install_win7 {
workstation {
sleep 5s
if (check "Выберите расположение" timeout 10s) {
mouse click "Общественная сеть"
wait "Расположение сети изменилось"
mouse click "Закрыть"
wait !"Расположение сети изменилось"
}
press LeftMeta
wait "Все программы"
mouse rclick "Компьютер"
mouse click "Свойства"
mouse click "Изменить"
mouse click "Изменить..."
mouse click "домена:"
mouse move 0 0
mouse click "домена:".center_bottom().move_down(10)
press LeftAlt + LeftShift
type "${domain_name}"; press Enter
wait "Использовать это нестандартное имя"; press Enter
wait "Введите имя и пароль учетной записи"; type "${ad_user_login}";
press Tab; type "${ad_user_default_password}"; press Enter
wait "Добро пожаловать в домен"; press Enter
wait "нужно перезагрузить компьютер"; press Enter
mouse click "Закрыть".from_bottom(0)
mouse click "Перезагрузить сейчас"
wait "CTRL + ALT + DEL" timeout 3m
press LeftCtrl + LeftAlt + Delete
wait "Пароль"
mouse click "RU"
mouse click "Английский"
wait !"Английский"
mouse click "Сменить пользователя"
mouse click "Другой пользователь"
sleep 500ms
type "${ad_user_login}"; press Tab; type "${ad_user_default_password}"; press Enter
wait "Корзина" timeout 2m
sleep 5s
press LeftMeta; wait "Все программы"; mouse rclick "Компьютер"
mouse click "Свойства"
wait "${domain_name}"
}
}
include "common.testo"
machine win_server {
cpus: 2
ram: 4096Mb
iso: "${ISO_DIR}/14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_RU-RU.ISO"
disk main: {
size: 30Gb
}
nic LAN: {
attached_to: "net1"
}
}
param win_password "ThisIsStrongPassword1!"
param win_server_LAN_ip "192.168.1.1"
param win_dhcp_start_addr "192.168.1.2"
param win_dhcp_end_addr "192.168.1.254"
param win_server_hostname "ADController"
param ad_user_name "Foo"
param ad_user_lastname "Bar"
test win_server_os_installation {
win_server {
start
wait "Выберите нужный язык" timeout 5m; mouse click "Далее".from_bottom(0)
mouse click "Установить"
wait "Выберите операционную систему";
mouse click "Windows Server 2016 Standard Evaluation (возможности ра"
mouse click "Далее".from_bottom(0)
mouse click "Я принимаю условия лицензии"; mouse click "Далее".from_bottom(0)
mouse click "только установка Windows"
wait "Где вы хотите установить Windows?"; mouse click "Далее".from_bottom(0)
wait "Введите пароль встроенной учетной записи администратора" timeout 20m;
sleep 2s; type "${win_password}"
press Tab; sleep 2s; type "${win_password}"; press Enter
wait "CTRL+ALT+DELETE"
press LeftCtrl + LeftAlt + Delete
wait "Администратор"
type "${win_password}"; press Enter
wait "Вас приветствует диспетчер серверов" timeout 2m
}
}
macro run_command(command) {
press LeftMeta + R;
wait "Введите имя программы";
type "${command}"; press Enter
}
test win_server_os_prepare: win_server_os_installation {
win_server {
sleep 2s
mouse click "РУС".from_bottom(0)
mouse click "Английский"
wait !"Английский"
run_command("devmgmt.msc")
wait "Диспетчер устройств"
mouse dclick "USB-устройство ввода"
# Переходим на вкладку "Power Management"
# и снимаем галочку с пункта "Allow the computer to turn off ..."
mouse click "Управление электропитанием"
mouse click "Разрешить отключение этого устройства"
sleep 3s
# Закрываем окно свойств устройства "USB Input Device"
press Enter
wait !"Управление электропитанием"
# Закрываем окно "Device Manager"
press LeftAlt+F4
wait !"Диспетчер устройств"
mouse click "Локальный сервер".from_bottom(0)
mouse click "IPv4-адрес назначен DHCP"
wait "Сетевые подключения"
mouse rclick "Ethernet".from_top(0)
mouse click "Свойства"
mouse move 0 0
mouse click "TCP/IPv4"
mouse click "Свойства".from_bottom(0)
mouse click "Использовать следующий IP-адрес"
mouse click "IP-адрес".from_bottom(0).right_center().move_right(150)
sleep 1s
type "${win_server_LAN_ip}"; press Tab, Enter
wait !"Использовать следующий IP-адрес"
mouse click "Закрыть".from_bottom(0)
wait !"свойства"
press LeftAlt + F4
wait !"Сетевые подключения"
mouse click "WIN-".from_top(1)
wait "Свойства системы"
mouse click "Изменить..."
wait "Изменение имени компьютера"
type "${win_server_hostname}";
press Enter
wait "нужно перезагрузить компьютер"; press Enter
mouse click "Закрыть".from_bottom(0)
mouse click "Перезагрузить сейчас"
wait "CTRL+ALT+DELETE" timeout 30m
press LeftCtrl + LeftAlt + Delete
wait "Администратор"
type "${win_password}"; press Enter
wait "Вас приветствует диспетчер серверов" timeout 2m
sleep 10s
}
}
test win_server_configure_ad: win_server_os_prepare {
win_server {
mouse click "Добавить роли и компоненты".from_right(0)
wait "Перед началом работы"; mouse click "Далее".from_bottom(0).center_bottom()
wait "Выбор типа установки"; mouse click "Далее".from_bottom(0).center_bottom()
wait "Выбор целевого сервера";
mouse click "Далее".from_bottom(0).center_bottom()
wait "Выбор ролей сервера";
mouse dclick "Доменные службы Active Directory"
mouse click "Добавить компоненты".from_bottom(0)
mouse dclick "DNS-сервер"
mouse click "Добавить компоненты".from_bottom(0)
mouse dclick "DHCP-сервер"
mouse click "Добавить компоненты".from_bottom(0)
mouse click "Далее".from_bottom(0).center_bottom()
wait "Выбор компонентов"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Доменные службы Active Directory"
mouse click "Далее".from_bottom(0).center_bottom()
wait "DNS-сервер"
mouse click "Далее".from_bottom(0).center_bottom()
wait "DHCP-сервер"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Чтобы установить на выбранном сервере следующие роли"
mouse click "Установить".from_bottom(0)
wait "Повысить роль этого сервера до уровня контроллера домена" timeout 10m
}
}
test win_server_configure_deployment: win_server_configure_ad {
win_server {
mouse click "Повысить роль этого сервера до уровня контроллера домена"
wait "Конфигурация развертывания"
mouse click "Добавить новый лес"
mouse click "РУС".from_bottom(0)
mouse click "Английский"
wait !"Английский"
mouse click "Имя корневого домена".right_center().move_right(200)
type "${domain_name}"
press Enter
wait "Выберите режим работы нового леса"
mouse click "Пароль".from_bottom(0).right_center().move_right(200);
type "${win_password}"; press Tab; type "${win_password}"
press Enter
wait "Укажите параметры делегирования DNS"
press Enter
wait "NetBIOS-имя" && "MYDOMAIN"
press Enter
wait "Укажите расположение базы данных"
press Enter
wait "Просмотрите выбранные параметры"
press Enter
wait "Все проверки готовности к установке выполнены успешно"
mouse click "Установить".from_bottom(0).center_bottom()
wait "CTRL+ALT+DELETE" timeout 30m
press LeftCtrl + LeftAlt + Delete
wait "Администратор"
type "${win_password}"; press Enter
wait "Вас приветствует диспетчер серверов" timeout 2m
}
}
test win_configure_dhcp: win_server_configure_deployment {
win_server {
mouse click "РУС".from_bottom(0)
mouse click "Английский"
wait !"Английский"
mouse click "DHCP".from_left(0)
wait "DHCP-сервер - требуется настройка"
mouse click "Подробнее"
mouse click "Завершение настройки DHCP"
wait "Для завершения настройки DHCP"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Укажите учетные данные"
mouse click "Фиксировать".center_bottom()
mouse click "Закрыть"
wait "Сведения о задаче"
press LeftAlt + F4
wait !"Сведения о задаче"
mouse click "Средства".from_right(0)
mouse click "DHCP".from_right(0)
mouse dclick "${domain_name}"
mouse dclick "IPv4".from_right(0)
mouse rclick "IPv4".from_left(0)
mouse click "Создать область"
wait "Мастер создания области"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Необходимо обеспечить уникальное имя области"
type "SCOPE1"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Определить диапазон адресов области"
type "${win_dhcp_start_addr}" interval 100ms; press Tab
type "${win_dhcp_end_addr}" interval 100ms; press Enter
wait "Добавление исключений"; press Enter
wait "Срок действия аренды адреса"; press Enter
wait "Настройка параметров DHCP"; press Enter
wait "основной шлюз"; type "${win_server_LAN_ip}"; mouse click "Добавить".from_right(0); sleep 200ms; press Enter
wait "DNS-серверы"; press Enter
wait "WINS-серверы"; press Enter
wait "Активировать область"; press Enter
wait "Завершение мастера"; press Enter
wait !"Завершение мастера"
}
}
test win_server_add_user: win_configure_dhcp {
win_server {
mouse click "Средства".from_right(0)
mouse click "Пользователи и компьютеры Active Directory"
wait "${domain_name}"
mouse click "${domain_name}".from_left(0)
sleep 1s
mouse dclick
sleep 200ms
mouse rclick "Users".from_left(0)
mouse move "Создать".from_left(0)
sleep 1s
mouse click "Пользователь".from_bottom(0)
wait "Новый объект - Пользователь"
mouse click "Имя".from_top(0).right_center().move_right(100); type "${ad_user_name}"
mouse click "Фамилия".right_center().move_right(100); type "${ad_user_lastname}"
mouse click "Имя входа пользователя".from_bottom(1).center_bottom().move_down(10); type "${ad_user_login}"
mouse click "Далее".from_bottom(0).center_bottom()
wait "Пароль"; type "${ad_user_default_password}"; press Tab; type "${ad_user_default_password}"
mouse click "Требовать смены пароля"
mouse click "Далее".from_bottom(0).center_bottom()
mouse click "Готово".from_bottom(0)
sleep 1s
press LeftAlt + F4
wait !"${domain_name}"
}
}
include "common.testo"
machine workstation {
cpus: 2
ram: 2Gb
iso: "${ISO_DIR}/win7.iso"
disk main: {
size: 20Gb
}
nic LAN: {
attached_to: "net1"
}
}
param workstation_login "testo"
test workstation_install_win7 {
workstation {
start
wait "Choose an operating system"
press Down, Enter
mouse click "Мой язык - русский" timeout 2m;
wait "Выберите нужный язык"; mouse click "Далее".from_bottom(0)
mouse click "Установить" timeout 1m;
wait "Выберите операционную систему"; press Down*8; mouse click "Далее"
#wait "Выберите операционную систему"; mouse click "Далее"
wait "Условия лицензии"
mouse click "Я принимаю условия лицензии" timeout 1m; mouse click "Далее"
wait "Выберите тип установки";
if (check "Полная установка") {
mouse click "Полная установка"
} else {
mouse click "Выборочная"
}
wait "Где вы хотите установить Windows?" || "Выберите раздел для установки Windows"; mouse click "Далее"
wait "Выберите имя пользователя" timeout 15m
unplug dvd
press LeftShift + LeftAlt; type "${workstation_login}"; mouse click "Далее"
wait "Установите пароль"; mouse click "Далее".from_bottom(0)
wait "Введите ключ продукта"; mouse click "Автоматически активировать Windows"; mouse click "Далее"
wait "Помогите автоматически защитить компьютер"; mouse click "Отложить решение"
wait "Проверьте настройку даты и времени"; mouse click "Далее"
wait "Выберите текущее место расположения компьютера"; mouse click "Общественная сеть"
wait "Корзина" timeout 10m
shutdown
start
wait "Корзина"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment