25 september 2019

PowerShell: automatiseren van beheerstaken in de Cloud

Elke dag zijn er diverse taken die beheerders uitvoeren en die vaak worden herhaald. Veel van deze taken kunnen worden geautomatiseerd door middel van scripts. Sinds 2006 is er door Microsoft een nieuwe scripting taal PowerShell beschikbaar gesteld. PowerShell is niet zomaar een scripttaal; wat je met een ouderwetse batch file niet of nauwelijks voor elkaar kreeg, voer je in PowerShell soms met enkele commando’s uit en soms met slechts een enkele regel.

In deze blog ga ik in op de mogelijkheden van Microsoft PowerShell en laat ik zien hoe deze scripttaal beheerstaken in de Cloud eenvoudig kan automatiseren.

Microsoft PowerShell combineren met de Cloud

Microsoft Azure, Office 365, Exchange Online zijn natuurlijk bekende Cloud oplossingen van Microsoft. Al deze Cloud diensten worden voorzien van een prachtige Web GUI. Even wat rondklikken door alle gebruikers en instellingen aanpassen is geen probleem. Maar weet je dat je met PowerShell kunt inloggen op onder andere eerder genoemde Cloud oplossingen van Microsoft? De kracht van PowerShell kun je dan combineren met de Cloud.

Microsoft PowerShell in de praktijk

Met Microsoft PowerShell kun je scripts maken en complexe handelingen automatiseren. Hiermee kun je bijvoorbeeld het beheer van je IT-omgeving vereenvoudigen. Een tweetal voorbeelden* van relatief eenvoudig te maken scripts met PowerShell:

  • Zet in Exchange Online voor alle Mailboxen van gebruikers de Archief mailbox aan:
    Get-Mailbox -Filter {ArchiveStatus -Eq "None" -AND RecipientTypeDetails -eq "UserMailbox"} | Enable-Mailbox -Archive
  • Vraag een lijst op van alle gebruikers in Office 365/Azure AD met een licentie:
    Get-MsolUser -All | ? {$_.IsLicensed -eq $true}

Met PowerShell kunt u ook complete scripts* maken, zoals:

  • Provisioning van gebruikers (Active Directory account, home directory, group memberships, Office 365 licentie, Mailbox, default permissions, etc.).
  • Verrijken van gegevens van gebruikers in Active Directory.
  • Uit/aanzetten, monitoren van Azure Resources/Virtual Machines.
  • Distribueren van gebruikers, Photos in Active Directory, Office 365/SharePoint Online.
  • Monitoren of Agenda machtigingen goed staan en eventueel corrigeren.
  • Roaming profile / home directory migraties.

Beheersgemak

De laatste jaren heb ik steeds meer ervaring opgedaan met het ontwikkelen van PowerShell Scripts. Soms gebruik ik slechts enkele regels om een aantal zaken uit te lezen of aan te passen, zoals de oneliners hierboven in het voorbeeld. Daarnaast ontwikkel ik regelmatig complexere scripts die meerdere keren per dag kunnen draaien op een script of management server. Deze scripts voeren dan taken uit die regelmatig moeten worden herhaald. Deze scripts loggen netjes alle informatie die belangrijk is en hebben zelfs de mogelijkheid om alerts te sturen indien er zich problemen voordoen.

Het voordeel van deze scripts is dat herhalende taken telkens exact hetzelfde worden uitgevoerd. Als voorbeeld het aanmaken van gebruikers. Geen wisselende naamconventies, altijd de juiste groepen gekoppeld, home directory aangemaakt, etc. Een ander voordeel is dat medewerkers van de beheerders/servicedesk meer tijd overhouden voor andere werkzaamheden in plaats van herhalende taken uit blijven voeren.

Starten met een testomgeving

Belangrijke punten als je met PowerShell wilt gaan werken, is het vooraf goed bedenken wat je wilt maken en waarom. En waar mogelijk altijd eerst in een testomgeving beginnen. Probeer het eerst uit op een aantal gebruikers, voordat je het breed gaat inzetten. Wij kunnen je hierbij de gewenste begeleiding bieden. Ook bij het ontwikkelen van scripts kunnen we je ondersteunen.

Azure PowerShell Az module

Microsoft heeft PowerShell uitgebreid met de Azure PowerShell Az module. De reden hiervoor is de introductie van PowerShell Core 6.x. Het was te complex om de AzureRM module te wijzigen. Er is gekozen om een volledig nieuwe module te ontwikkelen.

Deze module is gericht op Microsoft Azure en bevat kortere commando’s, verbeterde stabiliteit en cross-platform ondersteuning. Het bevat dezelfde mogelijkheden als AzureRM en biedt gebruikers een eenvoudig migratiepad. Werk je op dit moment nog met AzureRM? Dan is het goed om te kijken of je op korte termijn kunt overstappen naar de Az module. Heb je hierbij advies of hulp nodig? Laat het ons weten!

Meer informatie

*gebruik op eigen risico

 

 

REACTIES

Hoi Stefan, bedankt voor de uitleg ik kan dit nu gaan doorvoeren in onze cloud :). Groet Mark

Je e-mailadres wordt niet gepubliceerd

Meer inspiratie
Met Microsoft PowerShell kun je scripts maken en complexe handelingen automatiseren. In deze blog maak je kennis met het maken van scripts en de voordelen.Lees meer ›
Het nieuwe jaar is begonnen. Vaak is dit een goed moment om je plannen te herijken. Door de snelle technologische ontwikkelingen is een gedegen ICT-plan een must. Het geeft je in deze snelle wereld de rust en het overzicht om de juiste strategische keuzes te maken. Is jouw ICT-plan nog up-to-date?Lees meer ›
Nu gaat ons hart als Microsoft Gold partner al harder kloppen van Microsoft technologie. Combineer dit met een kant-en-klaar intranet volledig gebaseerd op Office 365 en SharePoint en het is liefde op het eerste gezicht. We delen de belangrijkste redenen waarom wij en onze Valo klanten zo enthousiast zijn over Valo Intranet! Waar komt toch die ValoLove vandaan?Lees meer ›