Wieso einfach, wenn’s kompliziert geht? Diese Frage stelle ich mir in letzter Zeit immer öfter, wenn’s um Microsoft, und insbesondere deren Cloud M365 geht.
Hier ein schönes Beispiel: ich will nur einen Haken einer App entfernen. Im GUI brauche ich dazu nur ein paar Klicks:

Um dasselben mittels Powershell zu lösen, benötige ich, sagen wir, ein paar Schritte mehr:

$User = "user@domain.ch"
## Get the services that have already been disabled for the user.
$userLicense = Get-MgUserLicenseDetail -UserId $User
$userDisabledPlans = $userLicense.ServicePlans | Where ProvisioningStatus -eq "Disabled" | Select -ExpandProperty ServicePlanId
## Get the new service plans that are going to be disabled
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'TEAMS_ESSENTIALS_AAD'
$newDisabledPlans = $e5Sku.ServicePlans | Where ServicePlanName -in ("EXCHANGE_S_DESKLESS") | Select -ExpandProperty ServicePlanId
## Merge the new plans that are to be disabled with the user's current state of disabled plans
$disabledPlans = ($userDisabledPlans + $newDisabledPlans) | Select -Unique
$addLicenses = @(
@{
SkuId = $e5Sku.SkuId
DisabledPlans = $disabledPlans
}
)
## Update user's license
Set-MgUserLicense -UserId $User -AddLicenses $addLicenses -RemoveLicenses @()
Naja, nicht sehr effizient, Microsoft :(.