Настройка Windows Server
Для отображения событий Пассворка в Просмотре событий (Event Viewer) необходимо дополнительно настроить права доступа. Для этого нужно:
С помощью контекстного меню Пуск
- Нажать правой кнопкой мыши на значке Пуск в левом нижнем углу экрана.
- Выбрать «Windows PowerShell (администратор)» из контекстного меню.
С помощью меню Пуск
- Нажать левой кнопкой мыши на значок Пуск в левом нижнем углу экрана.
- Прописать
powershell
- Открыть PowerShell от имени «Администратора» комбинацией —
Ctrl + Shift + Enter
- Получить идентификаторы безопасности (SID) для учетных записей:
- PowerShell
$objUser = New-Object System.Security.Principal.NTAccount("имя_группы")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
Стандартные учётные записи
-
IUSR (SID: S-1-5-17);
-
IIS_IUSRS (SID: S-1-5-32-568);
-
NETWORK SERVICE (SID: S-1-5-20).
-
Получить настройку прав доступов с помощью CMD:
- CMD
wevtutil gl application > temp.txt
к сведению
В выполняемой директории будет создан temp.txt файл.
- В файле temp.txt отредактировать строку channelAccess:
- Убрать элементы, начинающиеся на (D;; и содержащие один из полученных SID;
- Каждый полученный SID вставить элементом в формате (A;;0x3;;;SID);
- Пример для стандартных SID прописанных в конце строки channelAccess:
- SID
(A;;0x3;;;S-1-5-17)(A;;0x3;;;S-1-5-32-568)(A;;0x3;;;S-1-5-20)
- Полная строка с стандартными идентификаторами безопасности (SID):
- channelAccess
channelAccess: O:BAG:SYD:(A;;0x2;;;S-1-15-2-1)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x3;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)(A;;0x3;;;S-1-5-17)(A;;0x3;;;S-1-5-32-568)(A;;0x3;;;S-1-5-20)
- Изменить настройки прав доступа с помощью CMD:
- CMD
wevtutil sl application /ca:O:BAG:SYD:(A;;0x2;;;S-1-15-2-1)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x3;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)(A;;0x3;;;S-1-5-17)(A;;0x3;;;S-1-5-32-568)(A;;0x3;;;S-1-5-20)
к сведению
После /ca: подставить значение параметра channelAccess
из temp.txt
- В PowerShell выполнить следующий скрипт для корректного отображения PHP событий:
осторожно
Обратить внимание:
- В переменной
$EventSource
прописать PHP-номер_версию, чтобы получить PHP версию, необходимо в PowerShell выполнить —php -v
- В переменной
$PHPEventMessageFile
прописать ра сположение php8.dll расширения, расположенного в корневой директории полученного при установке PHP
- PowerShell
# Определение переменных
$EventSource = "PHP-8.3.19"
$PHPEventMessageFile = "C:\Program Files\php8.3\php8.dll"
$EventLogPath = "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application\$EventSource"
$TypesSupported = 7
# Проверка и создание ключа для источника событий
if (-not (Test-Path $EventLogPath)) {
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application" -Name $EventSource -Force
}
# Настройка параметров для источника событий
Set-ItemProperty -Path $EventLogPath -Name "EventMessageFile" -Value $PHPEventMessageFile -Type ExpandString
Set-ItemProperty -Path $EventLogPath -Name "TypesSupported" -Value $TypesSupported -Type DWord
После выполненных действий в Просмотре событий — Журналы Windows → Приложение будут отображены события Пассворка:
