Advanced Windows PowerShell Scripting Video Training

Advanced Windows PowerShell Scripting Video Training
Advanced Windows PowerShell Scripting Video Training

Tuesday, December 13, 2016

Exchange Online Error: You must provide a required property: Parameter name: UsageLocation

I’m continuing my efforts to update MOC 20697-2 this morning.  I’ve decided to add additional information on Office365.  Microsoft removed over 2000 SaaS products from Azure in October of 2016.  This resulted in 2 lessons of this class now being void.  While adding in content for Exchange Online, I discovered an error.

Set-MsolUserLicense : You must provide a required property: Parameter name: UsageLocation
At line:1 char:1
+ Set-MsolUserLicense -UserPrincipalName "KFrog@Adatum2008JY.onmicrosof ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [Set-MsolUserLicense], MicrosoftOnlineException
    + FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.RequiredPropertyNotSetException,Microsoft.Online.Administration.Automation.SetUserLicense

This error played with me for a while.  It is telling me that I am missing a property and its’ parameter name is UsageLocation.  I went to the help file for Set-MsolUserLocation, but that parameter is not part of the cmdlet.  What I discovered is that the user’s Azure AD object has a property called UsageLocation and that it was NULL.  I utilized the Set-MsolUser cmdlet with its –UsageLocation parameter and set the value to “US”.

Now this works:

$License = (Get-MsolAccountSku | Where AccountSkuId -like "*ENTERPR*").AccountSkuId

Set-MsolUserLicense -UserPrincipalName "KFrog@Adatum2008JY.onmicrosoft.com" -AddLicenses $License


No comments: