Skrypt zmienia użytkownika wyświetlanego jako właściciel urządzenia w EntraID.
PowerShell
#
# Examples:
#
# Set-EntraDeviceOwner -DeviceName "DEV-E-0001" -UserPrincipalName $null
# Set-EntraDeviceOwner -DeviceName "DEV-E-0001" -UserPrincipalName "[email protected]"
#
#
function Set-EntraDeviceUser {
param(
[Parameter(Mandatory = $true)][string] $DeviceName,
[Parameter(Mandatory = $true)][AllowEmptyString()][string] $UserPrincipalName
)
$deviceId = (Get-MgDevice -Filter "displayname eq '$DeviceName'").Id
# Remove owners
Get-MgDeviceRegisteredOwner -DeviceId $deviceId | Foreach-Object {
Remove-MgDeviceRegisteredOwnerDirectoryObjectByRef -DeviceId $deviceId -DirectoryObjectId $_.Id | Out-Null
}
# Remove users
Get-MgDeviceRegisteredUser -DeviceId $deviceId | Foreach-Object {
Remove-MgDeviceRegisteredUserDirectoryObjectByRef -DeviceId $deviceId -DirectoryObjectId $_.Id | Out-Null
}
if ($UserPrincipalName) {
$userObject = Get-MgUser -Filter "userprincipalname eq '$UserPrincipalName'"
if (!$userObject) {
Write-Error "User not found"
return 1
}
$userId = $userObject.Id
$params = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/directoryObjects/$userId"
}
New-MgDeviceRegisteredOwnerByRef -DeviceId $deviceId -BodyParameter $params | Out-Null
New-MgDeviceRegisteredUserByRef -DeviceId $deviceId -BodyParameter $params | Out-Null
}
}