SOLVED

Enabling Exchange Online E1 and Exchange Online Archiving

%3CLINGO-SUB%20id%3D%22lingo-sub-98481%22%20slang%3D%22en-US%22%3EEnabling%20Exchange%20Online%20E1%20and%20Exchange%20Online%20Archiving%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-98481%22%20slang%3D%22en-US%22%3E%3CP%3EHere's%20a%20fun%20one...I%20have%20about%203500%20users%20licensed%20with%20E1.%20%26nbsp%3B%20I%20have%20about%20700%2B%20of%20those%20users%20who%20do%20NOT%20have%20Exchange%20Online%20Plan%201%20activated.%20%26nbsp%3B%20Once%20those%20are%20activated%2C%20I%20will%20then%20need%20to%20apply%20an%20Exchange%20Online%20Archive%20license%2C%20and%20THEN%20add%20to%20my%20custom%20in-place%20hold.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhat%20would%20be%20the%20best%20PS%20commands%20to%20achieve%20this%3F%3C%2FP%3E%3CP%3E1.%20Generate%20CSV%20of%20all%20E1%20users%20WITHOUT%20Exchange%20Online%20Plan%201%3C%2FP%3E%3CP%3E2.%20PS%20Command%20to%20apply%20license%20to%20the%20above%20users.%3C%2FP%3E%3CP%3E3.%20PS%20Command%20to%20apply%20EOA%20license%20to%20above%20users%3C%2FP%3E%3CP%3E4.%20PS%20Command%20to%20add%20above%20users%20to%20custom%20in-place%20hold%20after%20mailboxes%20are%20created.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAny%20help%20would%20be%20great!%20%26nbsp%3BThank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-98481%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExchange%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EOffice%20365%20ProPlus%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-99981%22%20slang%3D%22en-US%22%3ERe%3A%20Enabling%20Exchange%20Online%20E1%20and%20Exchange%20Online%20Archiving%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-99981%22%20slang%3D%22en-US%22%3E%3CP%3EThat%20script%20worked%20like%20a%20charm%2C%20thank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-99862%22%20slang%3D%22en-US%22%3ERe%3A%20Enabling%20Exchange%20Online%20E1%20and%20Exchange%20Online%20Archiving%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-99862%22%20slang%3D%22en-US%22%3E%3CP%3ETo%20filter%20out%20users%20with%20some%20specific%20service%20disabled%2C%20you%20can%20use%20something%20like%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EGet-MsolUser%26nbsp%3B%20%7C%20%3F%20%7B%24_.Licenses.ServiceStatus%20%7C%20%3F%20%7B%24_.ServicePlan.ServiceName%20-eq%20%22EXCHANGE_S_STANDARD%22%20-and%20%24_.ProvisioningStatus%20-eq%20%22Disabled%22%7D%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOnce%20you%20have%20the%20list%2C%20applying%20new%20license%20is%20pretty%20straightforward.%20I'd%20recommend%20using%20Litigation%20hold%20instead%20of%20In-place%20holds%20though%2C%20they%20are%20quite%20easier%20to%20manage.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Occasional Contributor

Here's a fun one...I have about 3500 users licensed with E1.   I have about 700+ of those users who do NOT have Exchange Online Plan 1 activated.   Once those are activated, I will then need to apply an Exchange Online Archive license, and THEN add to my custom in-place hold.

 

What would be the best PS commands to achieve this?

1. Generate CSV of all E1 users WITHOUT Exchange Online Plan 1

2. PS Command to apply license to the above users.

3. PS Command to apply EOA license to above users

4. PS Command to add above users to custom in-place hold after mailboxes are created.

 

Any help would be great!  Thank you!

2 Replies
Highlighted
Solution

To filter out users with some specific service disabled, you can use something like:

 

Get-MsolUser  | ? {$_.Licenses.ServiceStatus | ? {$_.ServicePlan.ServiceName -eq "EXCHANGE_S_STANDARD" -and $_.ProvisioningStatus -eq "Disabled"}}

 

Once you have the list, applying new license is pretty straightforward. I'd recommend using Litigation hold instead of In-place holds though, they are quite easier to manage.

Highlighted

That script worked like a charm, thank you!