PowerShell

Призначення ліцензій користувачам у Microsoft 365 (Azuread) за допомогою PowerShell

Призначення ліцензій користувачам у Microsoft 365 (Azuread) за допомогою PowerShell

У цій статті ми розглянемо управління ліцензіями (підписки) з користувачами в Microsoft 365 (Office 365) за допомогою PowerShell. Поміркуйте, як призначити або видалити ліцензію, отримати статистику призначених ліцензій та налаштувати автоматичну мету ліцензій за допомогою груп Azure.

Ви можете керувати ліцензіями користувачів Microsoft 365 через портал Azure або Admin Center. Знайдіть потрібного користувача в Azure Ad, перейдіть до розділу Ліцензії. Тут ви можете призначити його одним із доступних ліцензій та вибрати доступні продукти. У великих організаціях ліцензії Microsoft 365 найчастіше доводиться керувати ліцензіями PowerShell.

Для підключення до Microsoft 365 використовуйте модуль Azure Ad PowerShell:

Connect-азурад

Список ліцензій, доступних вам у рекламі Azure -> Ліцензія -> Розділ продуктів додатків. У нашому випадку доступні 25 ліцензій розробників Microsoft 365 E5, з яких 9 безкоштовно.

У PowerShell інформація про доступну та призначену ліцензію у вашого орендаря може відображатися наступним чином:

Get-azureadsubscribedsku | Виберіть -prooperty sku*, споживнієси -expandproperty propaidunits

В Skupartnumber Назва ліцензії (План ліцензії) вказується). В Увімкнено - кількість ліцензій, придбаних у рамках цього плану. Споживнієсинти - кількість ліцензій, призначених користувачам.

Для вирішення ліцензій на сценарії PowerShell він використовується Скуп.

У рамках одного ліцензійного плану ви можете використовувати різні продукти Microsoft.

У нашому прикладі у орендаря доступний лише один ліцензований план Develoerpack_e5 . Ми відобразимо список доступних послуг Microsoft 365, якими можуть користуватися ваші користувачі.

$ ліцензії = get-azureadsubscribedsku
$ ліцензії [0].Плани обслуговування

У стовпці ServicePlanname вказується назви продуктів, доступних вашому користувачеві з цією ліцензією.

Ви можете відображати інформацію про ліцензії, присвоєні певному користувачеві. Спочатку ми отримуємо ліцензію Skuid, призначену користувачеві, а потім відобразимо його ім'я.

$ Skuids = (get -azureaduser -ObjectId [email protected] | Виберіть -sexpandproperty Призначення).Скуп
Foreach ($ skuid in $ skuids)
(Get-azureadsubscribedsku | були $ _.Skuid -eq $ skuid).Skupartnumber

Спробуємо призначити користувачеві ліцензію. Але перед призначенням ліцензії вам потрібно переконатися, що користувачеві присвоюють місцезнаходження (країна). Це обов'язкова вимога, t.до. Різні правила місцевого законодавства можуть стосуватися користувачів залежно від країни (це особливо важливо для обміну в Інтернеті). Вимийте дворозмірний код країни у форматі ISO Alpha-2.

Get -azureaduser -ObjectId [email protected] | Виберіть Усагелокацію, призначення

Якщо країна не встановлена, або її потрібно змінити, завершити:

Get -azureaduser -ObjectId [email protected] | Встановити -AzureadUser -Sagelocation ru

Тепер ви можете призначити ліцензію користувачеві

$ Userupn = "[email protected] "
$ Licplan = "develoerpack_e5"
$ Licence = new -Object -typename Microsoft.ВІДЧИНЕНО.Азуред.Модель.Призначення
$ Ліцензія.Skuid = (get -azureadsubscribedsku | де -Object -party skupartnumber -value $ licplan -eq).Скуп
$ Deeforylic = new -Object -typename Microsoft.ВІДЧИНЕНО.Азуред.Модель.Призначення
$ Deeforylic.Addlicenses = $ ліцензія
Встановити -AsureadUserLicense -ObjectId $ userupn -AssignedLicenses $ deeforylic
Отримати -azureaduserlicensedetil -ObjectId $ userupn

Ви можете призначити ліцензію відразу декільком користувачам. Наприклад, ми призначимо ліцензію всьому користувачеві в регіоні RU:

$ Licplan = "develoerpack_e5"
$ Licence = new -Object -typename Microsoft.ВІДЧИНЕНО.Азуред.Модель.Призначення
$ Ліцензія.Skuid = (get -azureadsubscribedsku | де -Object -party skupartnumber -value $ licplan -eq).Скуп
Get -azureaduser -filter "Usagelocation Eq 'ru'" | set -azureaduserlicense -ssignedlicenss $ deeforylic

Щоб видалити ліцензію користувача, використовуйте такий сценарій PowerShell:

$ Userupn = "[email protected] "
$ Licplan = "develoerpack_e5"
$ licence = new -Object -typename Microsoft.ВІДЧИНЕНО.Азуред.Модель.Призначення
$ Ліцензія.Removeelicenses = (get -azureadsubscribedsku | де -Object -party skupartnumber -value $ licplan -eq).Скуп
Встановити -azureaduserlicense -ObjectId $ userupn -AssignedLicensens $ LIVES

Щоб відобразити список користувачів без ліцензії, заповніть команду:

Get-azureaduser | Foreach $ ліцензія = $ false; Для ($ i = 0; $ i --le ($ _.Призначення | Міра).Рахувати; $ i ++) if ([string] :: isllorampty ($ _.Призначення [$ i].Skuid) -ne $ true) $ licence = $ true; If ($ licence -eq $ false) write -host $ _.Userprincipalname

Наступний сценарій PowerShell дозволить вам вивантажувати інформацію про користувачів Azure та ліцензії, призначених у файл CSV. Якщо користувачеві не призначено ліцензію, звіт вказує на "не ліцензію" для нього.

$ Report =@()
$ Користувачі = get-azureaduser
Foreach ($ користувач у $ користувачів)
$ Skuids =@()
$ Skuids = (get -azureaduser -ObjectId $ користувач.Userprincipalname | Вибір-sexpandproperty Призначення).Скуп
If ($ skuids -ne $ null)
Foreach ($ skuid in $ skuids)
$ Licence = (get-azureadsubscribedsku | де $ _.Skuid -eq $ skuid).Skupartnumber
$ Objreport = [pscheshedomobject]@
UPN = $ користувач.Userprincipalname
DisplayName = $ користувач.DisplayName
Департамент = $ користувач.Департамент
Ліцензія = $ ліцензія

$ Report+= $ objreport


Інакше

$ Objreport = [pscheshedomobject]@
UPN = $ користувач.Userprincipalname
DisplayName = $ користувач.DisplayName
Департамент = $ користувач.Департамент
Ліцензія = "не ліцензія"

$ Report+= $ objreport


$ Report | Export-CSV C: \ PS \ Azure_user_licensens.CSV -кодування UTF8 -notypeInformation

Управління ліцензіями особисто для кожного користувача не дуже зручно і трудомістка вчасно. У Azure AD ви можете прив’язати ліцензію на Azure Group (групове ліцензування). Як тільки користувач додається до цієї групи, сам Azure призначає йому ліцензію. Але для використання цієї функціональності ліцензія Azure AD Premium P1 потребує ліцензії. Крім того, стандартний модуль Azuread не дозволяє призначити ліцензію групі. Функції ліцензування групи доступні через портал Azure або програму через Microsoft Graph API.

Скільки важить Windows 10
Перш ніж встановити нову операційну систему, наприклад, Windows 10, було б непогано знати, скільки вона займе на важкий простір. Я не хотів би раптово...
Як підключити USB -модем до маршрутизатора та налаштувати Інтернет
У більшості випадків, під час підключення USB-модемів до маршрутизаторів Wi-Fi, підключення до Інтернету працює автоматично. Залишається лише налаштув...
Як видалити піктограму SHIELD з етикетки програм, що вимагають права адміністратора
Етикетки на робочому столі, створені більшістю програм для настільних ПК. Що це означає? Наявність такого значка говорить про те, що програма завжди з...