Národní úřad pro kybernetickou a informační bezpečnost vydal varování před kybernetickými hrozbami cílenými zejména na české...
Hromadná změna licencí v Office 365
Pokud měníte licenci u uživatelů v Office 365, pravděpodobně to nebudete dělat ručně, hlavně pokud máte víc uživatelů než jen několik málo. Naštěstí existuje velmi elegantní způsob, jak toho docílit automatizovaně pomocí PowerShellu.
Pro použití PowerShellu s Office 365 je potřeba nainstalovat Azure AD modul. Jako první se instaluje Microsoft Online Services Sign-In Assistant, poté se instaluje Azure Active Directory Module for Windows PowerShell.
Nyní se již můžeme připojit k Azure AD. V prvním kroku si uložíme přístupové údaje admin účtu v Azure AD/Office 365:
1 | $msolcred = get-credential |
Nyní se můžeme připojit pomocí uložených přihlašovacích údajů:
1 | connect-msolservice -credential $msolcred |
Po přihlášení si můžeme pomocí Get-MsolAccountSku zobrazit aktivní předplatná s dostupnými a použitými licencemi.
1 2 3 4 5 | AccountSkuId ActiveUnits WarningUnits ConsumedUnits ------------ ----------- ------------ ------------- czptsws:ENTERPRISEPREMIUM 25 0 1 czptsws:ENTERPRISEPACK 25 0 0 czptsws:O365_BUSINESS_PREMIUM 25 0 0 |
Nyní již můžeme změnit licence u uživatelů, u kterých je chceme změnit. K tomu využijeme PowerShell skript Change Office 365 licenses in bulk, respecting the License Options ze Skript Center. V tomto skriptu si nastavíme z jaké SKU na jakou chceme přecházet (hodí se nám výpis SKU výše) a a můžeme si nastavit, jaké funkce mají být aktivovány nebo například jestli deaktivované funkce ze současného SKU mají zůstat deaktivované i v novém SKU.
Pokud bych ale chtěl převést všechny uživatele z původního SKU na nový SKU a aktivovat jim všechny dostupné funkce, mohu si skript zjednodušit následovně:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Import-Module MSOnline $cred = Get-Credential Connect-MsolService -Credential $cred $oldLicense = "czptsws:ENTERPRISEPACK" $newLicense = "czptsws:ENTERPRISEPREMIUM" $users = Get-MsolUser -MaxResults 5000 | Where-Object { $_.isLicensed -eq "TRUE" } foreach ($user in $users){ $upn = $user.UserPrincipalName foreach ($license in $user.Licenses) { if ($license.AccountSkuId -eq $oldLicense) { $disabledPlans = @() Write-Host("User $upn will go from $oldLicense to $newLicense and will have no options disabled.") Set-MsolUserLicense -UserPrincipalName $upn -AddLicenses $newLicense -RemoveLicenses $oldLicense } } } |
Ve skriptu si stačí nahradit proměnné oldLicense a newLicense, kde zadáte jméno tenantu (v mém případě czptsws ) a název SKU (v mém případě jdu z E3 = ENTERPRISEPACK na E5 = ENTERPRISEPREMIUM ). Skript poté můžete jen spustit a zadat přihlašovací údaje správce v Office 365 tenantu.