Утилита для регистрации устройств в Linux

Средство командной строки Linux, аналогичное Windows dsregcmd , которое запрашивает состояние регистрации устройства, сведения о PRT (основной маркер обновления) и конфигурацию брокера из Microsoft Identity Broker.

Обзор

dsreg предоставляет администраторам и разработчикам подробные сведения о состоянии регистрации устройств в системах Linux. Он отправляет запрос брокеру удостоверений Microsoft для получения:

  • Состояние регистрации устройства
  • Сведения об идентификаторе устройства и клиенте
  • Состояние и время обновления PRT (основной маркер обновления)
  • Сведения о сертификате
  • Сведения о ключе сеанса
  • Версия и конфигурация брокера

Installation

Средство входит в пакеты Microsoft Identity Broker и устанавливается в /usr/bin/dsreg при установке брокера.

Поддерживаемые дистрибутивы Linux

  • Ubuntu/Debian — пакет DEB (microsoft-identity-broker_*.deb)
  • RHEL/Rocky Linux/AlmaLinux — пакет RPM (microsoft-identity-broker-*.rpm)
# Ubuntu/Debian
sudo apt install microsoft-identity-broker

Замечание

После установки microsoft-identity-broker средство dsregcmd доступно на уровне системы.

dsreg --help

Usage

# Display device registration status
dsreg
dsreg --status

# Display help
dsreg --help

# Query specific tenant
dsreg --tenant-id <tenant-guid>

# Get DRS access token
dsreg --getdrstoken

# Unregister device (requires sudo)
sudo dsreg --tenant-id <tenant-guid> --unregister

# Clean broker state (prompts for confirmation)
dsreg --cleanup

# Clean broker state including certificates (requires sudo)
sudo dsreg --cleanup

Параметры команд

Вариант Description
--status Отображение полной регистрации устройства и состояния PRT (по умолчанию)
--help Отображение справки
--tenant-id <id> Запрос регистрации устройства для GUID определенного арендатора
--getdrstoken Для операций устройства получение токена доступа для службы регистрации устройств (DRS)
--unregister Отменить регистрацию устройства от клиента Entra ID (требуется sudo и DRS токен)
--cleanup Очистите все состояние локального брокера с помощью запроса на подтверждение.

Этап 1 (всегда): очищает кэш уровня пользователя (учетные записи, маркеры, учетные данные)
Этап 2 (только корневой каталог): удаляет закрытые ключи и сертификаты устройства (drs_* и stk_* файлы из /etc/identity-broker/private и /etc/microsoft/identity-broker/certs)
Примечание: Не исключает устройство из Entra ID (используйте --unregister отдельно)

Выходные данные

Состояние устройства

Поле Description
Состояние регистрации устройства (Зарегистрировано или не зарегистрировано)
Код устройства Уникальный идентификатор устройства в клиенте Microsoft Entra.
Идентификатор клиента Сведения о клиенте, отображаемые при присоединении устройства к идентификатору Microsoft Entra.
Имя клиента или домен Сведения о клиенте, отображаемые при присоединении устройства к идентификатору Microsoft Entra.
Отпечаток сертификата Отпечаток сертификата устройства.

Основной маркер обновления (PRT)

Поле Description
PRT присутствует (Да|Нет) ДА , если основной маркер обновления (PRT) присутствует на устройстве для пользователя, вошедшего в систему.
Время кэширования PRT Время в формате UTC, когда PRT был кэширован последний раз на устройстве.
Срок действия PRT Время в формате UTC, когда срок действия PRT истекает, если он не будет продлен.
Время последнего обновления PRT Время последнего обновления корпоративного PRT в формате UTC.
Возраст PRT (часы)
Версия протокола ключа сеанса Версия протокола, используемая для ключа сеанса, связанного с PRT.

Сведения о брокере

Поле Description
Версия брокера Версия текущего microsoft-identity-broker установленного на устройстве.
Имя службы брокера Имя службы systemd для брокера.
Путь к бинарному файлу брокера и метка времени установки Путь к файлу и метка времени установки двоичного файла брокера.
Режим устройства (Эксклюзивные/Общие)

Пример выходных данных

Device State
-----------------------------------------------------------------
Device Registration Status   : Registered
Device ID                    : a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6
Tenant ID                    : 12345678-90ab-cdef-1234-567890abcdef
Tenant Name                  : contoso.com

Primary Refresh Token
-----------------------------------------------------------------
PRT Present                  : YES
PRT Cached At                : 2025-12-11 08:30:15 UTC
PRT Expires On               : 2025-12-25 08:30:15 UTC
PRT Age                      : 4.25 hours
Session Key Protocol         : 3.1

Broker Information
-----------------------------------------------------------------
Broker Version               : 2.0.123.456
Broker Service Name          : microsoft-identity-device-broker.service
Broker Binary Path           : /opt/microsoft/identity-broker/bin/microsoft-identity-broker
Broker Binary Timestamp      : 2025-12-19 14:30:22 UTC

Операция очистки

Команда --cleanup выполняет безопасную команду. Двухэтапная очистка с подтверждением пользователя:

Запрос на подтверждение

Прежде чем продолжить, dsreg отображает следующее:

WARNING: This operation will permanently remove all local accounts, credentials, and cached tokens.
         Running as root will also remove device certificates and private keys from:
           - /etc/microsoft/identity-broker/certs (certificates)
           - /etc/microsoft/identity-broker/private (private keys)

This is an irreversible operation.
Do you want to continue? (Y/N):

Чтобы продолжить, необходимо ввести Y или y . Любые другие входные данные отменяют операцию.

Этап 1: Очистка пользовательского уровня (всегда выполняется)

  • Очищает все кэшированные учетные записи
  • Удаляет все маркеры проверки подлинности
  • Удаляет сохраненные учетные данные
  • Очистка кэша PRT
  • Удаляет каталоги кэша пользователей:
    • ~/.cache/intune-portal
    • ~/.cache/Microsoft
    • ~/.cache/microsoft-edge
    • ~/.config/intune
    • ~/.config/microsoft-identity-broker
    • ~/.local/share/intune-portal

Этап 2. Очистка ключей устройств и сертификатов (только корневая версия)

Если выполняется от имени суперпользователя (sudo dsreg --cleanup), также удаляется:

  • Останавливает службу microsoft-identity-device-broker
  • Приватные ключи устройства из /etc/microsoft/identity-broker/private/
  • Сертификаты устройств из /etc/microsoft/identity-broker/certs/
  • Данные системного брокера из /var/lib/microsoft-identity-device-broker
  • Касается только файлов с префиксом drs_* или stk_* в каталогах сертификатов.
  • Безопасный: не изменяет другие ключи или сертификаты

Важные заметки

  • Очистка НЕ отменяет регистрацию устройства из Entra ID
  • Чтобы полностью удалить устройство, выполните sudo dsreg --tenant-id <id> --unregister отдельно
  • После очистки пользователи должны снова войти, чтобы восстановить PRT
  • Выполнение без sudo очищает кэш пользователей, а не сертификаты

Устранение неполадок

"Не удалось получить экземпляр брокера"

Причина: Брокер не запущен или не установлен Решение:

# Check if broker is running
systemctl status microsoft-identity-device-broker

# Start broker if needed
systemctl start microsoft-identity-device-broker

"Состояние регистрации устройства: не зарегистрировано"

Причина: Устройство не зарегистрировано в Entra ID Решение:

  1. Проверка сетевого подключения к идентификатору Entra
  2. Убедитесь, что устройство соответствует требованиям к регистрации
  3. Запуск процесса регистрации для организации

PRT присутствует: НЕТ

Причина: Нет пользователя, выполнившего вход, или срок действия PRT истек Решение:

  1. Войти с помощью учетной записи Entra ID
  2. Проверка сетевого подключения для обновления PRT
  3. Синхронизация времени проверки (PRT требует точного времени)

Коды выхода

Code Meaning
0 Успех (даже если не зарегистрирован или нет PRT)
1 Недопустимые аргументы командной строки
2 Не удалось инициализировать (брокер недоступен)
3 Запрос завершился с ошибкой
4 Недостаточно разрешений (требуется sudo)
5 Маркер DRS, необходимый для операции
6 Сбой отмены регистрации устройства
7 Сбой операции очистки
8 Операция очистки, отмененная пользователем

Архитектура безопасности

Разделение привилегий

Средство реализует безопасность путем правильного разделения проблем:

  • Уровень бизнес-логики (DeviceBrokerImpl): нет проверок привилегий, только проверяемой логики
  • Граница IPC (DBusDispatcher): принудительное обеспечение безопасности с помощью callerUid проверки
  • Операции, требующие корня: применяется на границе D-Bus, а не в бизнес-логике

Безопасность очистки

Очистка сертификата предназначена для обеспечения безопасности:

  • Удаляет только файлы с префиксами drs_* или stk_* в /etc/microsoft/identity-broker/private.
  • Никогда не касается системных или пользовательских сертификатов
  • Предоставляет запрос подтверждения перед любой деструктивной операцией

Architecture

Средство использует существующие компоненты брокера:

  • DeviceBroker — запросы на регистрацию устройств и привилегированные операции
  • BrokerCore — для состояния PRT и проверки подлинности
  • DeviceInfoAccessor — получение сведений об устройстве
  • CacheManager — чтение кэшированных учетных данных
  • D-Bus IPC — для безопасного взаимодействия со службами брокеров

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

Сравнение с Windows dsregcmd

Функция Windows dsregcmd Linux dsreg
Состояние соединения устройства
Идентификатор устройства
Идентификатор арендатора
Состояние PRT
Метки времени PRT
Отпечаток сертификата
Выходные данные, закодированные цветом

Дополнительные сведения см. в следующей документации Intune: