
Я провожу некоторую экспертизу, чтобы попытаться выяснить, какой нуб обновил и перезагрузил критический сервер в самый неподходящий момент. Есть ли способ определить учетную запись пользователя, которая запустила Windows Update? В частности, на Windows Server 2003.
решение1
По моему мнению, важнее убедиться, что соответствующие элементы управления, понимание и политики присутствуют, чтобы предотвратить повторение этого. Дайте знать всей группе администраторов о том, что произошло, почему это было неправильно и не вовремя, почему это не должно повториться и т. д. и т. п.
Слишком часто компании сосредоточены на пролитии крови, когда совершаются ошибки (вы можете находиться под давлением начальства, требующего найти виновного), вместо того, чтобы сосредоточиться на исправлении и предотвращении ошибок. Слишком частое указание пальцем создает токсичную рабочую среду и приводит к плохой работе, низкому моральному духу и производительности, а также высокой текучести кадров.
решение2
Для машины Server 2003 в журнале событий системы вы, скорее всего, увидите кучу событий 4377, связанных с именем пользователя во время установки обновлений. Возможно, также некоторые события 7035 (запуск служб). Они могут оказаться для вас более полезными, чем все, что вы найдете в журнале событий безопасности.
Вполне возможно, что один из ваших новичков установил обновления, а другой случайно нажал «Да» в запросе на перезагрузку. Но критические серверы никогда не следует обновлять в рабочее время: даже если перезапуск отложен, сам процесс обновления может нарушить работу служб. Например, службы, использующие .NET Framework, могут быть остановлены обновлениями .NET, даже если перезагрузка отложена.
Я определенно согласен с оценкой @joeqwerty, что в конечном итоге все дело в политиках и средствах контроля, которые использует ваша ИТ-организация.
решение3
Мне удалось выяснить это, запустив windowsupdate.log из окна «Выполнить» и нажав CTRL+F для наших ИТ-пользователей. Это не обязательно помогает крупным компаниям с сотнями ИТ-пользователей, однако для небольшой компании с небольшой внутренней командой это помогло быстро найти того, кто запустил обновление. Показало следующее (я удалил имя пользователя с помощью «USERNAMEHERE»):
2016-11-06 09:38:19:591 1020 c40 AU All updates already downloaded, setting percent complete to 100
2016-11-06 09:38:21:599 1020 15a4 AU All updates already downloaded, setting percent complete to 100
2016-11-06 09:38:21:601 1020 18c0 Handler Attempting to create remote handler process as "USERNAME HERE" in session 3
2016-11-06 09:38:21:794 1020 18c0 DnldMgr Preparing update for install, updateId = {12C7A5E2-8CE1-47F6-9203-202C83A4AEFC}.200.
2016-11-06 09:38:21:858 3692 13e0 Misc =========== Logging initialized (build: 7.6.7600.256, tz: -0000) ===========
2016-11-06 09:38:21:858 3692 13e0 Misc = Process: C:\Windows\system32\wuauclt.exe
2016-11-06 09:38:21:858 3692 13e0 Misc = Module: C:\Windows\system32\wuaueng.dll