Added Files
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# Bulk add a new licence to users on the basis of what licence they currently have.
|
||||
#
|
||||
# An updated version of my previous MSOL script, now using AzureAD.
|
||||
# This is useful for something like adding Office 365 ATP to everyone who currently has E3, for example.
|
||||
#
|
||||
# List of available SKUs can be obtained with (Get-AzureADSubscribedSku).SkuPartNumber
|
||||
#
|
||||
|
||||
# What licence do the users currently have?
|
||||
$existingLicence = 'ENTERPRISEPACK'
|
||||
|
||||
# What licence are we adding?
|
||||
$licenceToAdd = 'ATP_ENTERPRISE'
|
||||
|
||||
# Import AzureAD module and connect
|
||||
Import-Module AzureAD
|
||||
Connect-AzureAD
|
||||
|
||||
# Get all available licence skus
|
||||
$allSkus = Get-AzureADSubscribedSku
|
||||
|
||||
# Get sku ID for existing licence
|
||||
$existingSkuID = ($allSkus | Where-Object {$_.SkuPartNumber -eq $existingLicence}).SkuId
|
||||
|
||||
# Get sku ID for new licence
|
||||
$newSkuID = ($allSkus | Where-Object {$_.SkuPartNumber -eq $licenceToAdd}).SkuId
|
||||
|
||||
# Find everyone who has the existing licence but not the licence we're adding
|
||||
$users = Get-AzureADUser -All $true | Where-Object {$_.AssignedLicenses.SkuId -match $existingSkuID -and !($_.AssignedLicenses.SkuId -match $newSkuID)}
|
||||
|
||||
# Create a new licence object for the licence we're adding
|
||||
$newLicense = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
|
||||
$newLicense.SkuId = $newSkuID
|
||||
|
||||
# Create a new assigned licenses object and add the licence we're adding to add licenses
|
||||
$newLicenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
|
||||
$newLicenses.AddLicenses = $newLicense
|
||||
|
||||
# Add the new licence to each user in the list
|
||||
foreach ($user in $users) {
|
||||
Set-AzureADUserLicense -ObjectId $user.UserPrincipalName -AssignedLicenses $newLicenses
|
||||
}
|
||||
|
||||
# Disconnect from AzureAD
|
||||
Disconnect-AzureAD
|
||||
Reference in New Issue
Block a user