В пятницу коллегиально решали одну проблему. В ходе решения немного поржали, обмениваясь картинками про Друзь (Друзя? 🙂 ), Холмса и Сталина.
Товарищи программисты обратились с заявкой – периодически на их сервере останавливается служба Server (Lanman).
- Анализ журналов системы показал, что служба останавливается несколько раз в день. Обычно она перезапускается автоматически, но иногда не перезапускается 🙂
- Анализ дат остановки показал, что служба в прошлом году останавливалась 29 декабря, затем была одна остановка 4 января. И с 11 января остановки поперли несколько раз в день.
- Сопоставили в этом же журнале события об остановке с событиями об установке подключения принтера. Уточнили по другим событиям – служба останавливается при логоне.
- Провели тестовые логоны учетных записей программистов – служба останавливается.
- Проверил на своих пользовательских и административных учетных записях – служба не останавливается (хотя тест был некорректный 🙂 )
- Отключили все фичи RDP (принтеры, папки, другие устройства) – не помогло.
- Для исключения проблем с клиентом RDP проверили логин с учетной записью программиста с моего компьютера – проблема воспроизвелась.
- Проверили в настройках AD и RDP, что у них не запускаются никакие скрипты.
- Удалили профиль одного программиста – не помогло.
- Сравнил групповые политики своей учетной записи и учетной записи программиста. Различий не нашел 🙂
- Решил повтыкать на Process Monitor. 360 тысяч событий – это хардкор 🙂
- Пока крутил события, обнаружил запуск VBS-скрипта. Почитал текст скрипта – скрипт останавливает службу Browser и Server. Повезло :)))
После этого стали разбираться.
Этот скрипт вносит ФИО пользователя в поле “Описание” ПК, для облегчения нахождения связки “пользователь-ПК”. Видимо, для ускорения обновления этой информации скрипт заодно перезапускал службы “обозревателя” и “сервера”. Ну и, видимо, на этом сервере не успевал их перезапустить.
Скрипт запускался через пользовательскую групповую политику.
На моей административной записи этой групповой политики назначено не было. А пользовательская… не являлась локальным администратором сервера.
Поэтому тест №5 и оказался не показательным 🙁
Прочитал программистам мораль про недопустимость использования пользовательских учетных данных для администрирования сервера – сразу создал кучу административных учетных записей.
Заодно выпилил пару “legacy” скриптов из групповой политики.