GERİ
Windows Azure Active Directory Module for Powershell ile Kullanıcı Lisanslarının Yönetimi

Windows Azure Active Directory Module for Powershell ile Kullanıcı Lisanslarının Yönetimi

by Ezgi CAN, 12 Haziran 2017

Office 365 platformunda yer alan kullanıcıların lisans yönetimi Office 365 GUI arayüzünden yapılabilindiği gibi aynı zamanda powershell komutları ile de yapılmaktadır. Kullanıcılara lisans ataması,lisansların kaldırılması ya da var olan lisansın değiştirilme işlemi ilgili komutlar ile gerçekleştirilecektir. Ancak lisans ataması yapılmadan önce kullanıcılara lokasyon bilgisi girilmelidir. Bunun için şekilde de görüldüğü gibi “Get-MsolUser –UnlicensedUsersOnly | Set-MsolUser –UsageLocation TR” komutu kullanılmalıdır. Bu komut ile lisanssız olan tüm kullanıcılara lokasyon bilgisi olarak Türkiye atanmış olacaktır. Lokasyon bilgisi atanacak ülke bilgisine göre değişik parametreler almaktadır. Örnekte yer TR bilgisi Türkiye için kullanılan bir parametre iken US United Stated olarak kullanılmaktadır. Haliyle kullanıcılara istenilen ülke bilgileri ilgili parametrelerin seçilmesi ile sağlanacaktır.


İlgili lokasyon bilgisinin atanmasından sonra var olan kullanıcılara lisans ataması için aşağıdaki komut dizini kullanılmalıdır.

Set-MsolUserLicense -UserPrincipalName username@domainname –AddLicenses “license”

Bu komut ile ilgili kullanıcının kim olduğu “UserprincipleName” parametresinde yer alan değer belirlenirken, lisans ekleme işlemi “AddLicenses” parametresinden belirtilmelidir. Örnekte yer alan “melissam@ecec0.onmicrosoft.comkullanıcısına “ENTERPRİSEPACK” değeri ile Office 365 Enterprise E3 lisans atama işlemi gerçekleştirilmiş olunacaktır. Her lisansın kendine özel isimleri vardır. Kullanıcıya hangi lisansın atanacağı bilgisi de burada girilecek değer ile belirlenecektir.

Set-MsolUserLicense –UserPrincipalName melissam@ecec0.onmicrosoft.com – AddLicenses “ecec0:ENTERPRISEPACK”


İlgili lisansın atanmasından sonra kullanıcıya ait lisans bilgisi şekilde de görüdüğü üzere ilgili kullanıcıya tıklanarak sağ bölümde yer alan “Assigned license” başlığında gözlemlenecektir.


Lisans atama işlemi dışında aynı zamanda silme işlemi de powershell komutu ile gerçekleştirilebilir. Burada yine kullanıcının lisans ayarları değiştirileceği için “Set-MsolUSerLicense” komutu kullanılacaktır. İlgili komut şablonu aşağıda yer almaktadır;

Set-MsolUserLicense -UserPrincipalName username@domainname –RemoveLicenses “license”

Lisans ekleme işlemi gibi burada da yine ilgili kullanıcıya atanmış olan lisans bilgisinin bilinmesi gerekir. Örnekte de görüldüğü üzere “melisam@ecec0.onmicrosoft.com” kullanıcısına atanmış olunan Office 365 Enterprise E3 lisansının kaldırılma işlemi aşağıdaki komutun çalıştırılması ile gerçekleştirilir.Burada Office 365 Enterprise E3 lisans bilgisi girilen ENTERPRISEPACK değeri ile anlaşılmaktadır.

Set-MsolUserLicense –UserPrincipalName melissam@ecec0.onmicrosoft.com – RemoveLicenses “ecec0:ENTERPRISEPACK”


İlgili komutun çalıştırılmasının ardından Office 365 portalında “Active Users” altında yer alan ilgili kullanıcıya tıklanarak lisansın kaldırıldığı gözlemlenecektir. Şekilde de görüldüğü üzere sağ bölümde yer alan “Assigned licence” başlığı altında “No license” bilgisi yer almaktadır. Böylelikle artık bu kullanıcıya atanmış bir lisans bulunmayacak ve ilgili lisans istenilmesi durumunda başka kullanıcıya atanabilecektir.


Firmada ihtiyaçlar doğrultusunda bazı kullanıcıların lisans tipinin değiştirilmesi söz konusu olabilir. Örneğin Office 365 Enterprise E1 lisansına sahip olan bir kullanıcının, Office 365 Enterprise E3 lisansında yer alan özelliklerden kaynaklı lisans tipinin değiştirilmesi söz konusu olduğu durumda ilgili powershell komutunun çalıştırılması yeterli olucaktır. Komut şablonu aşağıdaki gibidir;

Set-MsolUserLicense -UserPrincipalName username@domainname -AddLicenses “newlicense” –

RemoveLicenses “oldlicense”

Aşağıdaki örnekte de yer aldığı gibi “melisam@ecec0.onmicrosoft.com” kullanıcısının sahip olduğu Office 365 Enterprise E1 lisansının Office 365 Enterprise E3 lisansına yükseltilme işlemi gerçekleştirilmiştir. Burada Office 365 Enterprise E1 lisansı olduğu girilen STANDARTPACK değeri ile anlaşılmaktadır.


Toplu Lisans Güncelleştirilmesi

Lisans eklenmesi ya da kaldırılması gib durumların birden fazla kullanıcı üzerinde gerçekleştirilme işlemi ilgili powershell scriptlerinin çalıştırılması ile sağlanacaktır. Ancak fazla sayıdaki kullanıcının lisansları ile ilgili yükseltme söz konusu olduğunda (Office 365 Enterprise E1 lisansının Office 365 Enterprise E3 lisansına yükseltilmesi gibi) CSV dosyasına ihtiyaç duyulacaktır. İlgili CSV dosyasının “Import-Csv” komutu ile çalıştırılmasının ardından CSV dosyasında yer alan UPN isimlerine göre lisans atama işlemi gerçekleştirilmiş olunacaktır.

Bilindiği üzere lisansların içerisinde Office 365’in sunduğu hizmetlere dair alt başlıklar yer almaktadır. Örneğin Office 365 Enterprise E3 paketinde aşağıda yer alan hizmetler ve onları temsil eden powershell değerleri yer almaktadır.

· YAMMER_ENTERPRISE = Yammer

· RMS_S_ENTERPRISE = Rights Management Services

· OFFICESUBSCRIPTION = Office Professional Plus

· MCOSTANDARD = Lync Online

· SHAREPOINTWAC = Microsoft Office Web Apps

· SHAREPOINTENTERPRISE = SharePoint Online

· EXCHANGE_S_ENTERPRISE = Exchange Online

Office 365 Enterprise E3 lisansında yer alan bazı servislerin ilgili kullanıcılarda pasif edilemesi, lisans atama sırasında gerçekleştirilebilir. Bunun için ilgili servisin disable edilmesi gerekemektedir. Powershell komutu ile bu işlemin gerçekleştirilmesi için “-LicenseOptions” parametresi kullanılmalıdır. Aşağıdaki komut dizininde Office 365 Enterprise E3 paketinde yer alan Yammer ve Rights Management Servisinin pasif edilmiş ve $options değerine atanmıştır. Böylelikle $options olarak çağrılan başka bir powershell komutunda Office 365 Enterprise E3 paketinde yer alan Yammer ve Rights Management Services aktif olmayacaktır.

$options = New-MsolLicenseOptions –AccountSkuId tenantname:ENTERPRISEPACK -DisabledPlans

YAMMER_ENTERPRISE, RMS_S_ENTERPRISE

Yukarıda yer alan $options değerinin –LisenceOptions parametresi ile kullanılması durumunda ilgili kullanıcıya Yammer ve Rights Management Servisi pasif olarak gelecektir.

Set-MsolUserLicense –UserPrincipalName username@domainname -LicenseOptions $options