Få styr på dine Office 365 licenser – del 2

Få styr på dine Office 365 licenser – del 2

I første del af “Få styr på dine Office 365 licenser” demonstrerede jeg hvordan du via PowerShell kunne skabe dig et overblik over de tilgængelige licenser i din Office 365 samt hvordan du kunne skræddersy et licenssæt og tildele det til dine brugere. Her i anden del vil jeg gennemgå et enkelt PowerShell script som kan benyttes til at skifte eller sætte licenser på brugerne helt automatisk.

Det forudsætter at du har overblik over dine licenser, hvad de hedder og hvilke services du eventuelt vil udelade fra en given licens. Hvis ikke du har det endnu – så check lige første del igen inden du fortsætter her.

intro

Formålet med at lave et script der kan håndtere licensstyringen i Office 365 er, at jeg bliver fysisk dårlig af at skulle sidde og klikke mig igennem interfacet i portalen når der fx skal tildeles licenser til brugerne. Ok, måske ikke fysisk dårlig – men så i hvert fald irriteret over det manuelle klikken rundt med musen.

Nuvel, det kan gå for en enkelt bruger eller to og måske endda op til grænsefladens maksimum af bulk-markerede brugere. Men skal det gøres for rigtig mange brugere er PowerShell scripts vejen at gå.

En anden forudsætning for at kunne gøre det i den grafiske Office 365 portal er, at du rent faktisk har muligheden for at fremsøge de brugere du gerne vil ramme. De muligheder for filtering der er tilgængelige i portalen er måske for begrænsede til at du rammer den rigtige gruppe af brugere du ønsker at tildele licenser til.

Men uanset årsag – så synes jeg bare det er sjovere at bruge tiden på at lave arbejdet i PowerShell og bagefter læne mig tilbage og se hvordan licenserne bliver tildelt uden at jeg har klikket med musen. Lad os prøve at kigge på det…

First things first – log på Office 365

Som altid skal vi først lige skabe en forbindelse til vores Office 365 tenant med en konto der har nogle rettigheder. Sørg for at du erstatter variablen $adminuser med dit eget administrator brugernavn:

Indtast din adconnect2gangskode i den boks der fremkommer.

Hvis du allerede er logget ind via PowerShell eller PowerShell ISE kan du udkommentere disse linier i scriptet med et “#” tegn.

 

 

Definér licens optioner

Vi skal nu have defineret hvilke licenser vi gerne vil tildele og på én af licenserne laver vi en option således at den kun indeholder nogle enkelte af de services der er tilgængelige i licensen. Vi fjerner bl.a. RMS, Skype, Exchange og Yammer.

I eksemplet her udelukker vi således nogle enkelte services i Office 365 Education licensen. Husk at skift til dine egne licenser og tenant-navn:

Definér brugere

Det næste der skal ske er, at vi skal have defineret hvilke brugere det er vi gerne vil arbejde med. Altså de brugere som skal have skiftet de gamle licenser ud med de nye licenser vi netop har defineret. Der er her rige muligheder for at justere filteret så du kun kommer til at ramme de brugere der rent faktisk skal have de nye licenser. Det betyder også at du måske først kan justere filteret så du rammer en lille gruppe af brugere for at sikre dig at alt ser korrekt ud.

I eksemplet her ønsker vi at ramme de brugere som har noget med ordet “test” i deres navn; deres brugernavn skal ende på noget med “@tenant-navn.dk” og de skal have en licens tilknyttet i forvejen. Når licensoplysninger er hentet, så skriv lige på skærmen hvor mange det drejer sig om og vent 5 sekunder inden der fortsættes:

Skift licenserne

Nu kommer vi til den helt vitale del af scriptet. Det er her vi fjerner de eksisterende licenser fra brugerne og tildeler det nye licenssæt. Vi looper igennem hver enkelt bruger for at finde ud af hvilke licenser de har fået tildelt og skriver resultatet på skærmen. Så fjerner vi alle brugerens licenser for derefter at tilføje de nye. Til sidst slutter vi af med at skrive hvor mange vi har skiftet licenser på samt hvilke licenser de nu er tildelt.

Det er i denne del af scriptet at tingene kan gå galt hvis ikke vi enten rammer de rigtige brugere eller har defineret licenserne korrekt. For at sikre os at vi har tildelt det vi ønsker, slutter vi af med dels at skrive hvilke licenser vi har tildelt hver enkelt bruger samt antallet af brugere vi har skiftet licens på.

Du bør udkommentere de 2 sidste linier når du har sikret dig at scriptet kører som det skal med dine test brugere. Ellers får du en kæmpe liste med brugere og deres licenser listet som afslutning. Det kan være fint nok i forbindelse med test, men i produktion vil du i praksis stole på at antallet passer. 🙂

Output fra scriptet

Hvis du sætter de enkelte dele sammen og tilretter det med dine egne oplysninger vil du have et samlet script du kan bruge i det daglige til at tildele licenser. Filteret gør at du kan justere det sådan at du også bare rammer en enkelt bruger om nødvendigt. Tag det som inspiration og gør dine egne erfaringer.

output

Det står dig frit for at benytte kodestumperne, men husk at ret dem til inden brug. Det betyder at du kan sætte din museskade i bero og få mere tid til noget af det andet vigtige arbejde du mangler at få lavet.

God weekend 😉

OBS! Opdatering 09/2017:
I dag vil jeg helt klart anbefale, at du i stedet benytter gruppebaseret licensstyring i Office 365 / Azure AD, hvis du har mulighed for det. Når jeg får tid, vil jeg også skrive en artikel omkring denne metode at tildele licenser på. Men indtil da, er du velkommen til at kontakte mig.

Få styr på dine Office 365 licenser – del 1

Få styr på dine Office 365 licenser – del 1

I nogle organisationer er det ofte muligt at vælge mellem flere forskellige slags licenser i Office 365, og måske har du kun behov for at tildele enkelte services fra flere af licenserne til dine brugere.

grafiskI den grafiske brugerflade i portalen er det selvfølgelig nemt lige at klikke de enkelte licenser og services til for en eller flere brugere, men hvad nu hvis du har flere tusind brugere du gerne vil tildele en lokation og et subset af licenser til? Eller hvis det nu kun er brugere med nogle bestemte karakteristika? Eller en kombination af begge?

Jamen du kender nok svaret – PowerShell – men kender du også løsningen?

Her i første del vil jeg beskrive hvordan du forbinder til din Office 365 tenant samt hvordan du via PowerShell får overblik over licenserne, hvordan du sammensætter en kombination af licenserne, samt hvordan du kan tildele dem til mange brugere i Office 365 på én gang. I næste del gennemgår jeg et samlet PowerShell script der benytter nogle af de ting vi lærer her og som kan sætte eller erstatte licenser på dine Office 365 brugere.

 

 

 

Log på Office 365

Det første du skal gøre, er at forberede din maskine til at kunne logge på din Office 365 tenant hos Microsoft. Du skal derfor hente og installere følgende programmer hvis ikke du allerede har gjort det:

  1. Online Services Sign-In Assistant
  2. Windows Azure Active Directory Module for Windows PowerShellconnect1

 

Nu kan du højreklikke på Azure AD modulet og køre det som administrator på din PC og derefter forbinde til Office 365 med følgende kommando:

 

connect2

 

 

 

 

 

Du kan også gemme dine logon-informationer i en variabel og bruge dem til logon efterfølgende, det gør du med disse kommandoer:

Få vist dine licenser og tilknyttede services

Nu hvor du har skabt en forbindelse til dit Office 365 miljø via PowerShell kan du få vist indholdet af dine licenser i Office 365. Den overordnede oversigt over licenser får du med kommandoen:

Men da vi skal bruge oversigten til at dykke ned i de enkelte services under licensen gemmer vi oversigten i en variabel. Samtidig vil vi gerne lige se antallet af licenser vi har til rådighed:

Yderst til højre vil der også være en oversigt over hvor mange licenser der er i brug – det er ikke taget med i visningen herover.

For at se hvilke services der er tilknyttet den enkelte licens skal vi dykke lidt længere ned i licensen for at finde oplysningerne. Hvis vi nu gerne vil se hvad EMS licensen indeholder af services skriver vi denne kommando (i det følgende skal du udskifte “tenant-navn” med navnet på din egen Office 365 tenant:

Hvis du vil se oversigten for en anden licens udskifter du blot licens-navnet i kommandoen. I eksemplet her er det faktisk i denne licens, at vi kun vil bruge nogle af de services der er tilknyttet:

Lav en tilpasset licens til dine brugere

Hvis vi fra ovenstående licens med de mange services f.eks. gerne vil undlade at tildele Exchange (EXCHANGE_S_STANDARD) og Skype for Business (MCOSTANDARD) til vores brugere, så skal vi lave vores egen modificerede licens hvor disse to services ikke er med. Det findes der en kommando til, og igen vil vi gerne gemme den i en variabel til senere brug:

Nu har vi en tilpasset licens som vi kan benytte når vi skal tildele licenser til vores brugere.

Tildel licenser til dine brugere i skyen

Nu hvor vi har fået en oversigt over vores licenser, og endda lavet en tilpasning til én af dem, skal vi se på hvordan vi får dem tildelt til vores brugere. I eksemplet her vil vi kun tildele licenser til brugere der ikke i forvejen har en licens og som ikke er disabled. Derudover vil vi kun tildele licenserne til brugere som har kontor i “Sønderborg” og hvor afdelingsnavnet starter med “Finans”. Igen gemmer vi listen med disse brugere i en variabel. Lad os se hvordan kommandoen ser ud:

Nu har vi alt hvad vi skal bruge for at tildele nogle licenser til vores udvalgte brugere, og vi kan sammensætte en lille stump PowerShell kode der kan lave arbejdet for os, så vi undgår at klikke os ihjel i portalen. Vi vil sikre os at brugeren får tilknyttet den korrekte lokation og samtidig give dem 3 forskellige licenser hvoraf den sidste er med vores tilpasninger:

Nu er brugerne opdateret med rigtig lokation og de har fået tildelt de 3 licenser, hvoraf de i sidstnævnte licens ikke har fået de 2 services som vi specifikt har valgt at udelade under tildelingen. Hvis du vil teste på en enkelt bruger inden du kører det for alle brugere kan du i koden udskifte “$HverBruger.UserPrincipalName” med en enkelt brugers login. Du kan også altid checke i portalen om en bruger har fået de rigtige licenser tildelt.

Fjerne licens fra en bruger

Du kan fjerne en eller flere licenser fra en bruger igen ved at benytte “-RemoveLicenses” parameteren:

Bemærk dog at hvis du fjerner en licens fra en bruger mister brugeren både adgang og data. Hvis du i stedet ønsker at give en anden eller ny licens til en bruger som allerede er licensieret er den korrekte metode først at angive den nye licens og derefter fjerne den gamle. Her er et eksempel på hvordan du gør det:

Læg mærke til rækkefølgen af parametrene “-AddLicenses” og “-Remove-Licenses”. Hvis du kommer til at fjerne licensen inden du tildeler en ny, risikerer du at komme til at stå i en situation hvor brugeren mister sin adgang til Office 365 og tilhørende data. Det er derfor vigtigt at du efterfølgende laver nogle stikprøver og sikrer dig at brugerne har de korrekte licenser.

Jeg håber du kan få glæde af ovenstående eller i det mindste bruge det som inspiration til at få dine egne erfaringer med Office 365 og PowerShell. I del 2 vil jeg gennemgå et PowerShell script som jeg benytter til at skifte licens på mange samtidige brugere i Office 365.

Kilde: Microsoft TechNet

Kontaktinformation

nicolaisen IT
Hjortevej 2 · 6300 Gråsten

CVR-nr.: 37428051

T: +45 3222 1182
E: info@nicolaisen.dk

Betalingsoplysninger

Jyske Bank A/S
Reg.nr.: 7257 Konto: 0001350239

Betal med bankoverførsel, VISA eller MasterCard

Generelle oplysninger

Hvad kan vi hjælpe med?

Følg os på Facebook Følg os på YouTube Følg os på YouTube

Serviceydelser

Hjemmesider, webdesign, hosting
Drone flyvning, foto/video optagelser
Netværk, servere, klienter, IT-support
Exchange, Skype for Business
Azure, Office 365, PowerShell
Grafisk arbejde, videoredigering

Godkendt af Trafikstyrelsen


© 2016-2018 nicolaisen IT | www.nicolaisen.dk
Alle rettigheder forbeholdt