Управление ведением журнала доступа пользователей

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

В этом документе описываются принципы управления ведением журнала доступа пользователей (UAL).

Ведение журнала доступа пользователей (UAL) — это компонент, который помогает администраторам сервера подсчитать количество уникальных клиентских запросов ролей и служб на локальном сервере.

UAL установлен и включен по умолчанию и выполняет сбор данных в режиме, практически приближенном к реальному времени. Существует всего несколько параметров конфигурации для UAL. Данный документ описывает эти параметры и их назначение.

Дополнительные сведения о преимуществах UAL см. в разделе "Начало работы с ведением журнала доступа пользователей".

В этом документе

Параметры конфигурации, описываемые в данном документе, включают в себя следующее:

  • Отключение и включение службы UAL

  • Сбор и удаление данных

  • Удаление данных, записанных службой UAL

  • Управление UAL в крупномасштабных средах

  • Восстановление из ошибочного состояния

  • Включение отслеживания использования лицензий рабочих папок

Отключение и включение службы UAL

UAL включен и выполняется по умолчанию при первом запуске компьютера под управлением Windows Server 2012 или более поздней версии. Для удовлетворения требований конфиденциальности или других рабочих нужд администратору может понадобиться отключить или запретить работу UAL. Вы можете отключить UAL с помощью консоли служб, из командной строки или с помощью командлетов PowerShell. Однако чтобы убедиться, что UAL не запускается еще раз при следующем запуске компьютера, необходимо также отключить службу. В следующих процедурах описывается отключение и отключение UAL.

Примечание.

Для получения информации о службе UAL, включая сведения о том, работает или приостановлена служба, включена она или отключена, можно использовать командлет Get-Service UALSVC PowerShell.

Остановка и отключение службы UAL через консоль службы

  1. Выполните вход на сервер с помощью учетной записи с правами локального администратора.

  2. В диспетчере серверов выберите Средства, затем щелкните Службы.

  3. Прокрутите вниз и выберите пункт Служба ведения журнала доступа пользователей. Щелкните Остановка службы.

  4. Правой кнопкой мыши щелкните имя службы и выберите Свойства. На вкладке Общие поменяйте Тип запуска на Отключенои нажмите кнопку ОК.

Остановка и отключение UAL из командной строки

  1. Выполните вход на сервер с помощью учетной записи с правами локального администратора.

  2. Нажмите клавишу с эмблемой Windows + R, а затем введите cmd , чтобы открыть окно командной строки.

    Внимание

    Если появится диалоговое окно контроля учетных записей, подтвердите, что отображаемое в нем действие именно то, которое требуется, и нажмите кнопку Да.

  3. Введите net stop ualsvcи нажмите клавишу ВВОД.

  4. Введите netsh ualsvc set opmode mode=disableи нажмите клавишу ВВОД.

Следующие командлеты Windows PowerShell выполняют ту же функцию, что и предыдущая процедура. Вводите каждый командлет в одной строке, несмотря на то, что здесь они могут отображаться разбитыми на несколько строк из-за ограничений форматирования.

Также остановить и отключить UAL можно с помощью команд Windows PowerShell: Stop-service и Disable-Ual.

Stop-service ualsvc
Disable-ual

Если на более позднюю дату вы хотите перезапустить и повторно включить UAL, это можно сделать с помощью следующих процедур.

Запуск и включение службы UAL через консоль служб

  1. Выполните вход на сервер с помощью учетной записи с правами локального администратора.

  2. В диспетчере серверов выберите Средства, затем щелкните Службы.

  3. Прокрутите вниз и выберите пункт Служба ведения журнала доступа пользователей. Щелкните Запуск службы.

  4. Правой кнопкой мыши щелкните имя службы и выберите Свойства. На вкладке Общие поменяйте Тип запуска на Автоматическии нажмите кнопку ОК.

Запуск и включение UAL из командной строки

  1. Выполните вход на сервер с помощью учетной записи локального администратора.

  2. Нажмите клавишу с эмблемой Windows + R, а затем введите cmd , чтобы открыть окно командной строки.

    Внимание

    Если появится диалоговое окно контроля учетных записей, подтвердите, что отображаемое в нем действие именно то, которое требуется, и нажмите кнопку Да.

  3. Введите net start ualsvcи нажмите клавишу ВВОД.

  4. Введите netsh ualsvc set opmode mode=enableи нажмите клавишу ВВОД.

Следующие командлеты Windows PowerShell выполняют ту же функцию, что и предыдущая процедура. Вводите каждый командлет в одной строке, несмотря на то, что здесь они могут отображаться разбитыми на несколько строк из-за ограничений форматирования.

Также запустить и вновь включить UAL можно с помощью команд Windows PowerShell: Start-service и Enable-Ual.

Enable-ual
Start-service ualsvc

Сбор данных UAL

Помимо командлетов PowerShell, описанных в предыдущем разделе, для сбора данных UAL можно использовать 12 дополнительных командлетов:

  • Get-UalOverview: предоставляет сведения, относящиеся к UAL, а также журнал установленных продуктов и ролей.

  • Get-UalServerUser: предоставляет данные о доступе пользователя клиента на локальный или целевой сервер.

  • Get-UalServerDevice: предоставляет данные о доступе устройства клиента на локальный или целевой сервер.

  • Get-UalUserAccess: предоставляет данные о доступе пользователя клиента к каждой роли или продукту, установленным на локальном или целевом сервере.

  • Get-UalDeviceAccess: предоставляет данные о доступе устройства клиента к каждой роли или продукту, установленным на локальном или целевом сервере.

  • Get-UalDailyUserAccess: предоставляет данные о доступе пользователя клиента за каждый день года.

  • Get-UalDailyDeviceAccess: предоставляет данные о доступе устройства клиента за каждый день года.

  • Get-UalDailyAccess: предоставляет данные о доступе устройства и пользователя клиента за каждый день года.

  • Get-UalHyperV: предоставляет данные о виртуальной машине, относящиеся к локальному или целевому серверу.

  • Get-UalDns: предоставляет специальные данные DNS-клиента локального или целевого DNS-сервера.

  • Get-UalSystemId: предоставляет специальные системные данные для уникальной идентификации локального или целевого сервера.

Get-UalSystemId Предназначено для предоставления уникального профиля сервера для всех остальных данных с этого сервера, с которыми необходимо сопоставить.  Если на сервере происходят какие-либо изменения одного из параметров Get-UalSystemId , то создается новый профиль.  Get-UalOverview Предназначено для предоставления администратору списка ролей, установленных и используемых на сервере.

Примечание.

Основные функции служб печати и документов и файловых служб устанавливаются по умолчанию. Поэтому администраторы могут всегда видеть информацию по этим службам, как при установленных полных ролях. Отдельные командлеты UAL входят в состав Hyper-V и службы DNS из-за уникальных данных, которые UAL собирает для этих ролей сервера.

Вариант сценария обычного использования командлетов UAL мог бы быть таким: администратор запрашивает у UAL уникальные клиентские доступы за определенный диапазон дат. Это можно сделать несколькими способами. Далее приводится рекомендуемый метод запроса уникальных доступов устройств за диапазон дат.

PS C:\Windows\system32>Gwmi -Namespace "root\AccessLogging" -query "SELECT * FROM MsftUal_DeviceAccess WHERE LastSeen >='1/01/2013' and LastSeen <='3/31/2013'"

Он возвращает подробный список всех уникальных клиентских устройств по IP-адресам, которые совершали запросы к серверу в этот диапазон дат.

ActivityCount для каждого уникального клиента ограничено 65 535 в день. Вызов WMI из PowerShell также необходим только при запросе по дате.  Все остальные параметры командлета UAL могут использоваться в рамках запросов PowerShell, как в следующем примере:

PS C:\Windows\system32> Get-UalDeviceAccess -IPAddress "10.36.206.112"

ActivityCount    : 1
FirstSeen        : 6/23/2012 5:06:50 AM
IPAddress        : 10.36.206.112
LastSeen         : 6/23/2012 5:06:50 AM
ProductName      : Windows Server 2012 Datacenter
RoleGuid         : 10a9226f-50ee-49d8-a393-9a501d47ce04
RoleName         : File Server
TenantIdentifier : 00000000-0000-0000-0000-000000000000
PSComputerName

UAL сохраняет до двух лет истории. Чтобы разрешить получение данных UAL администратором при запуске службы, UAL создает копию активного файла базы данных current.mdb в файл с именем GUID.mdb каждые 24 часа для использования поставщика WMI.

В первый день года UAL создает новый GUID.mdb. Старый GUID.mdb сохраняется в качестве архива для использования поставщика. По прошествии двух лет исходный GUID.mdb будет перезаписан.

Внимание

Следующая процедура должна выполняться только опытным пользователем или разработчиком, тестирующими свой собственный инструментарий интерфейсов программирования приложений UAL...

Настройка 24-часового интервала по умолчанию так, чтобы данные стали видимы поставщику WMI

  1. Выполните вход на сервер с помощью учетной записи с правами локального администратора.

  2. Нажмите клавишу с эмблемой Windows + R, а затем введите cmd , чтобы открыть окно командной строки.

  3. Добавьте значение реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WMI\AutoLogger\Sum\PollingInterval (REG_DWORD).

    Предупреждение

    Неправильное изменение реестра может привести к серьезным неполадкам системы. Перед внесением изменений в реестр следует сделать резервную копию всех ценных данных на компьютере.

    В следующем примере показано, как добавить двухминутный интервал (не рекомендуется в качестве долгосрочного рабочего состояния). REG ADD HKLM\System\CurrentControlSet\Control\WMI\AutoLogger\Sum /v PollingInterval /t REG_DWORD /d 120000 /F

    Единица измерения времени — миллисекунды. Минимальное значение — 60 секунд, максимальное — семь дней, а значение по умолчанию — 24 часа.

  4. Для остановки и перезапуска службы ведения журнала доступа пользователей используйте консоль служб.

Удаление данных, записанных службой UAL

Служба UAL не задумывалась как компонент для решения критически важных задач. Данная служба спроектирована так, чтобы как можно меньше воздействовать на работу локальной системы и при этом обеспечивать высокий уровень надежности. Это также позволяет администратору при необходимости вручную удалять базу данных и поддерживающие файлы UAL (каждый файл в каталоге \Windows\System32\LogFiles\SUM\).

Удаление данных, записанных службой UAL

  1. Остановите службу ведения журнала доступа пользователей.

  2. Откройте проводник.

  3. Перейдите в раздел \Windows\System32\Logfiles\SUM\.

  4. Удалите все файлы из этой папки.

Управление UAL в крупномасштабных средах

В данном разделе описывается, что может ожидать администратор, когда UAL используется на сервере с большим количеством клиентов.

Максимальное количество доступов, которое может быть записано UAL, составляет 65 535 в день.  UAL не рекомендуется использовать на серверах, которые подключены непосредственно к Интернету, таких как веб-серверы, напрямую подключенные к Интернету, или в тех случаях, когда предельно высокая производительность является основной функцией сервера (например, в средах с рабочими нагрузками высокопроизводительных вычислений). UAL в основном предназначен для небольших, средних и корпоративных сценариев интрасети, где ожидается большой объем, но не столько большого количества развертываний, которые служат объему трафика, доступного к Интернету, на регулярной основе.

UAL в памяти: поскольку UAL использует расширяемый модуль служба хранилища (ESE), требования к памяти UAL будут увеличиваться со временем (или по количеству клиентских запросов). Но память будет освобождаться, поскольку это необходимо системе для минимизации воздействия на производительность.

UAL на диске: требования к жесткому диску UAL примерно так же, как показано ниже:

  • 0 уникальных клиентских записей: 22 МБ

  • 50 000 уникальных клиентских записей: 80 МБ

  • 500 000 уникальных клиентских записей: 384 МБ

  • 1 000 000 уникальных клиентских записей: 729 МБ

Восстановление из ошибочного состояния

В этом разделе рассматривается использование расширяемого модуля служба хранилища (ESE) UAL на высоком уровне, а также то, что администратор может сделать, если данные UAL повреждены или неустранимы.

Служба UAL использует ESE для оптимизации использования системных ресурсов и обеспечения их устойчивости к повреждению. Дополнительные сведения о преимуществах ESE см. в разделе Расширяемый обработчик хранилищ в MSDN.

При каждом запуске службы UAL обработчик ESE выполняет "мягкое" восстановление. Дополнительные сведения см. в разделе Файлы расширяемого обработчика хранилищ в MSDN.

Если выполнить "мягкое" восстановление будет проблематично, то ESE выполнит восстановление после сбоя. Дополнительные сведения см. в разделе Функция JetInit в MSDN.

Если UAL все же не может запуститься с существующим набором файлов ESE, то все файлы в каталоге \Windows\System32\LogFiles\SUM\ будут удалены. После удаления этих файлов будет вновь запущена служба ведения журнала доступа пользователей и созданы новые файлы. В этом случае служба UAL продолжит работу, как если бы она функционировала на вновь установленном компьютере.

Внимание

Файлы в каталоге базы данных UAL никогда не должны перемещаться или изменяться. Если это случится, то будут инициированы действия по восстановлению, включая процедуру очистки, описанную в данном разделе. Если требуются резервные копии каталога \Windows\System32\LogFiles\SUM\, то необходимо архивировать каждый файл из этого каталога, чтобы стала возможной операция восстановления.

Включение отслеживания использования лицензий рабочих папок

Сервер рабочих папок может использовать UAL для отчета по использованию клиента. В отличие от UAL, ведение журнала рабочих папок не включено по умолчанию. Вы можете включить его, изменив следующий раздел реестра:

Reg add HKLM\Software\Microsoft\Windows\CurrentVersion\SyncShareSrv /v EnableWorkFoldersUAL /t REG_DWORD /d 1

После добавления этого раздела реестра необходимо перезапустить службу SyncShareSvc на сервере, чтобы включить ведение журнала.

После включения ведения журнала 2 информационных события регистрируются в канал Windows Logs\Application каждый раз, когда клиент подключается к серверу. Для рабочих папок каждый пользователь может иметь одно или несколько клиентских устройств, которые подключаются к серверу проверяют наличие обновлений данных каждые 10 минут. Если с сервером взаимодействует 1000 пользователей, каждый из которых имеет 2 устройства, журналы приложений будут перезаписываться каждые 70 минут, что затрудняет устранение независимых проблем. Чтобы избежать этого, можно временно отключить службу ведения журнала доступа пользователей или увеличить размер канала Windows Logs\Application сервера.