Вопрос или проблема
В Intune, Entra, как я могу найти и удалить сиротские устройства, у которых удален основной UPN? Мне также нужно удалить их из Autopilot. У кого-то есть скрипт PowerShell?
Вы можете использовать приведенный ниже скрипт для поиска и удаления сиротских устройств без основного UPN. Сначала установите эти модули
Install-Module -Name AzureAD
Install-Module Microsoft.Graph -Scope CurrentUser
Install-Script -Name Get-WindowsAutoPilotInfo -Force
Install-Module MSOnline
Посмотрите этот документ
Как только вы подключитесь, вы должны увидеть что-то подобное, так же как показано в упомянутом выше документе.
и подключитесь к Microsoft Graph для Intune в соответствии с этим документом
Connect-MgGraph -Scopes "DeviceManagementManagedDevices.ReadWrite.All"
И это будет ваш скрипт-
# Это получит ваши устройства
$aadDevices = Get-AzureADDevice
# это отфильтрует устройства, где UPN не назначен
$orphanedDevices = $aadDevices | Where-Object { $_.DeviceOwnerType -eq 'Personal' -and -not $_.ObjectId }
$orphanedDevices
Вы можете удалить эти сиротские устройства, используя их ObjectId
$orphanedDevices | ForEach-Object { Remove-AzureADDevice -ObjectId $_.ObjectId }
Аналогичный способ для Intune
$intuneDevices | ForEach-Object { Remove-MgDeviceManagementManagedDevice -ManagedDeviceId $_.Id }
И для autopilot
$autopilotDevices = Get-WindowsAutopilotDeviceInfo
$orphanedAutopilotDevices = $autopilotDevices | Where-Object { $_.AssignedUser -eq $null }
$orphanedAutopilotDevices | ForEach-Object { Remove-WindowsAutopilotDevice -DeviceId $_.DeviceId }
Вы также можете обратиться к этому документу для справки
Ответ или решение
Для удаления сиротских устройств в Azure Active Directory (AAD) и их из Autopilot, выполните следующие шаги с использованием PowerShell.
Шаг 1: Установка необходимых модулей PowerShell
Перед началом работы убедитесь, что у вас установлены все необходимые модули. Выполните следующие команды в PowerShell:
Install-Module -Name AzureAD
Install-Module Microsoft.Graph -Scope CurrentUser
Install-Script -Name Get-WindowsAutoPilotInfo -Force
Install-Module MSOnline
Шаг 2: Подключение к Azure AD
Для выполнения дальнейших команд вам необходимо подключиться к Azure Active Directory и Microsoft Graph. Это можно сделать следующим образом:
Connect-AzureAD
Connect-MgGraph -Scopes "DeviceManagementManagedDevices.ReadWrite.All"
Шаг 3: Поиск сиротских устройств в AAD
Используйте следующий скрипт для получения списка устройств, у которых отсутствует основной UPN (User Principal Name):
# Получаем устройства AAD
$aadDevices = Get-AzureADDevice
# Фильтруем устройства, где UPN не назначен
$orphanedDevices = $aadDevices | Where-Object { $_.DeviceOwnerType -eq 'Personal' -and -not $_.ObjectId }
# Отображаем список сиротских устройств
$orphanedDevices
Шаг 4: Удаление сиротских устройств из AAD
Если вы хотите удалить найденные сиротские устройства, воспользуйтесь следующим кодом:
$orphanedDevices | ForEach-Object { Remove-AzureADDevice -ObjectId $_.ObjectId }
Шаг 5: Удаление сиротских устройств из Intune
Для удаления устройств из Intune выполните следующие команды:
$intuneDevices = Get-MgDeviceManagementManagedDevice
$orphanedIntuneDevices = $intuneDevices | Where-Object { $_.OwnerId -eq $null }
$orphanedIntuneDevices | ForEach-Object { Remove-MgDeviceManagementManagedDevice -ManagedDeviceId $_.Id }
Шаг 6: Удаление устройств из Autopilot
Наконец, для разбирающихся в Autopilot используйте следующую команду, чтобы удалить сиротские устройства:
$autopilotDevices = Get-WindowsAutopilotDeviceInfo
$orphanedAutopilotDevices = $autopilotDevices | Where-Object { $_.AssignedUser -eq $null }
$orphanedAutopilotDevices | ForEach-Object { Remove-WindowsAutopilotDevice -DeviceId $_.DeviceId }
Полезные ссылки
- Документация по подключению к Azure AD
- Документация по подключению к Microsoft Graph
- Инструкция по работе с устройствами в Autopilot
Следуя данной инструкции, вы сможете эффективно находить и удалять сиротские устройства из Azure AD, Intune и Autopilot.