Stop steroïden in je PoSH ISE

Door ralpje op maandag 27 oktober 2014 22:15 - Reacties (7)
Categorieën: ISESteroids, Powershell, Views: 3.903

Ik maak in m'n dagelijks werk veel gebruik van Powershell. Of het nu is voor het beheren van Office365, Exchange of ActiveDirectory of het genereren van overzichten voor managementinformatie, PoSH is de eerste (en meestal ook de enige) tool waar ik op teruggrijp.
Standaard wordt in Windows naast PoSH ook de Integrated Sript Editor (ISE) geïnstalleerd, waarmee PoSH-scripts kunnen worden gemaakt en getest. Die ISE mist echter wel de uitgebreidere functionaliteit dat je gewend bent van 'echte' scripteditors zoals Visual Studio. Daar is echter een oplossing voor: ISESteroids.
ISESteroids gebruik ik al sinds versie 1. De versie 2 die nu in ontwikkeling is geeft echter heel veel redenen om er een blogpost aan te wijden!

Misschien wel het grootste USP van ISESteroids is de prijs. Voor de 'professional' license betaal je ¤99. De mooiste functies zitten echter in de 'enterprise' uitvoering, die voor ¤189 aangeschaft kan worden. Wie nu echter de huidige 1.x-versie aanschaft voor ¤99, krijgt bij het final worden van 2.0 de upgrade naar enterprise gratis. Voor Hollanders natuurlijk een uitstekende deal ;)

Het installeren van ISESteroids is eenvoudig: download de zip-file en kopieer de inhoud naar één van de modules folders. Geen idee wat je modules-folders zijn? PoSH to the rescue.

code:
1
$env:PSModulePath -split ';'


Na het kopieren van de files kun je ISESteroids in je PoSH ISE starten:

code:
1
start-steriods


Uiteraard is het handig als dit standaard gebeurt bij het starten van ISE. Handig: in ISE Steroids kun je eenvoudig één van de profile-scripts openen: voor de console, voor ISE of voor beiden. Uiteraard wordt er ook onderscheid gemaakt tussen het profile van de huidige gebruiker, of die voor alle gebruikers. Door het start-steroids commando aan de 'all users (ISE)' profile toe te voegen, wordt ISESteroids nu automatisch gestart bij het openen van ISE.
ISESteroids profile scripts

De opvallendste wijziging zijn de extra toolbars die beschikbaar komen.
ISESteroids toolbar
Al die extra knoppen bieden uiteraard extra functies. Een deel daarvan zet ik hier even snel op een rijtje, de komende tijd zal ik bepaalde functies apart in een blogpost toelichten.

Eén van de dingen waar ik zelf erg blij mee ben is de versioning. Je kunt het versioning scherm activeren via de toolbar-knop met het klokje. Als versioning actie is verschijnt een extra menu aan de rechterkant van het scherm, waarin de verschillende versies van het script waarin je werkt getoond worden.
ISESteroids versioning
In auto-mode wordt bij het opslaan van je script direct een nieuwe 'minor' versie gemaakt, je kunt via 'add new version' zelf een major version opslaan. Uiteraard is het mogelijk om notities aan een bepaalde versie toe te voegen of via een compare snel een overzicht te krijgen van de wijzigingen sinds een bepaalde versie.
De verschillende versies worden opgeslagen in een .zip file op de locatie van het script. Als dit dus op een netwerkdrive is kun je op deze manier eenvoudig met verschillende mensen aan hetzelfde script werken en ondertussen alle wijzigingen bijhouden.

Wellicht de meest uitgebreide functie in ISESteroids is de 'refactor script' knop. Met deze knop wordt je script in één klap bijna volledig herschreven en vooral leesbaar gemaakt voor anderen: overbodig spaties worden verwijderd, line endings worden genormaliseerd, er wordt case-correct gedaan voor commands en paramaters, script blocks worden automatisch ingesprongen, etc. Via de 'advanced' tab bepaal je zelf wat er gebeurd, op de 'basic' tab kun je alle acties die je ingeschakeld hebt direct allemaal starten voor je script.
ISESteroids refactoring

Mensen die veel in grotere stukken code werken zullen veel baat hebben bij de ScriptMap. Dit is een visuele weergave van je plek in het script; het geeft aan de rechterzijde met een groene highlight aan waar in je code je momenteel beeld. Een mouse-over geeft een ingezoomde weergave van dat stuk code zodat je makkelijk kunt navigeren.
ISESteriods scriptmap

Intelliselect is een functie die in de praktijk ook erg nuttig blijkt, bijvoorbeeld om snel een bepaalde function uit te commenten.
Als de cursor zich in de code bevindt wordt met de toetscombo cntrl+Q het actuele element geselecteerd.
ISESteroids IntelliSelect
Door nogmaals op cntrl+Q te drukken wordt het bovenliggende element geselecteerd... Enzovoort.
ISESteroids IntelliSelect
Als je eenmaal het gewenste codeblock geselecteerd hebt, kun je cntrl+shit+b de selectie uitcommenten.
ISESteroids comment

Heb je de behoefte om de naam van een variabele in je hele script aan te passen? Plaats je cursor ergens in je script in de variabele en druk op F2. Hiermee wordt de variable en alle voorkomende instances ervan geselecteerd.
ISESteroids IntelliSelect
Door nu simpelweg de nieuwe naam voor te typen wordt deze overal in het script aangepast.
ISESteroids IntelliSelect

In bovenstaande screenshots zie je dat voor de functions in het script wordt aangeven hoe vaak de betreffende function gebruikt wordt. Door te klikken op deze waarde wordt direct naar deze 'references' genavigeerd.
ISESteroids references
Zijn er meerdere references, dan worden deze in een lijst weergeven met de bijbehorende code-regel en kan vanaf daar doorgeklikt worden naar de betreffende regel.
ISESteroids reference list

Dit zijn nog maar een paar voorbeelden van de praktische zaken die ISESteroids aan je PoSH ISE toevoegd. In komende blogposts zal ik een aantal functies nog extra onder de loep nemen!

Nieuw in Office 365: Multifactor Authentication

Door ralpje op maandag 17 februari 2014 18:59 - Reacties (1)
Categorie: Office365, Views: 6.622

GMail kon het al langer, maar binnen Office 365 was het een tijd lang alleen voorbehouden aan administrators: multifactor authentication. Gebasseerd op het 'something you know, something you have' principe biedt MFA meer veiligheid dan een one-step authentication: als je password gecompromitteerd is (bijvoorbeeld omdat je overal hetzelfde wachtwoord gebruikt en er ergens een databaseje met niet encrypted passwords is gelekt) dan heeft men nog steeds geen toegang tot je account zonder dat men ook je mobiele telefoon in handen heeft. Eigenlijk een must voor elke cloud-dienst waar potentieel kostbare data zoals e-mail is opgeslagen.

Sinds een weekje is dat dus mogelijk, in Office 365. De dienst is gratis beschikbaar voor alle Office 365 abbonnees, met uitzondering van de SMB- en dedicated plans.

Wel zijn er een paar kleine drawbacks, zoals op de O365 community blog duidelijk wordt: users die MFA gebruiken kunnen niet inloggen in OWA for iPhone en de Windows Azure Module voor Powershell.

Op dit moment werken alle browser-toepassingen van Office 365 met MFA. Voor overige applicaties, zoals de desktop applicaties van Outlook en Lync, kun je een 'App Password' genereren. Dit is vergelijkbaar met bijvoorbeeld GMail, waar je bij gebruik van two factor authentication een sterk wachtwoord kon genereren voor gebruik in je mailclient. Een volledig lijst met applicaties die 'App Password' ondersteunen is hier te vinden.
Overigens heeft Microsoft al aangekondigd te werken aan een update van Office 2013 die dit jaar nog uitkomt, waarin de desktop applicaties ook ondersteuning bieden voor MFA.

Microsoft maakt voor MFA onder andere gebruik van technologie van PhoneFactor , het bedrijf dat in 2012 door Microsoft werd ingelijfd.
De gebruiker heeft een aantal mogelijkheden om als 'tweede factor' in MFA te gebruiken. Er kan een spraakoproep worden gestart naar zowel een mobiel als een vast nummer of een SMS met One Time Password worden verstuurd. Veruit de coolste optie is echter de Multi-Factor Authentication App. Deze app is beschikbaar voor (uiteraard) Windows Phone, maar ook voor Android eniOS en kan op twee manieren gebruikt worden.
Als eerste kan een push-notificatie worden verstuurd naar het toestel zodra er op het account wordt ingelogd. Door de push-notificatie te open en op 'accepteren' te klikken wordt de inlogsessie voltooid. Hiervoor hoeft de gebruiker dus geen code over te tikken waar mogelijk fouten bij gemaakt worden; een klik op de knop is voldoende.
De tweede mogelijkheid vanuit de app is een One Time Password. Bij het openen van de app wordt een 6-cijfigerige code getoond die regelmatig wijzigt. Deze code dient bij het inloggen dan als tweede vorm van authenticatie ingevuld wordt. Dit zou een logische keuze kunnen zijn voor gebruikers die wel een smartphone hebben, maar geen databundel. Op deze manier kan er ook geauthenticeerd worden als er geen WiFi beschikbaar is.

Maar de hamvraag: hoe werkt multifactor authentication in Office 365. Antwoord: zoals je zou verwachten. Microsoft heeft met Wave15 van Office 365 een duidelijk en makkelijk te beheren pakket neergezet en gaat verder op die ingeslagen richting.

Multifactor authentication kan via de O365-portal door de beheerder worden ingesteld. Onder 'users and groups' is de link naar het instellen van MFA te vinden.
Set multi-factor authentication
Na het aanklikken van de link kan door een zoekactie worden bepaald voor welke accounts MFA moet worden geactiveerd.
User instellen voor MFA

De beheerder kan niet veel meer dan MFA aan- of uitschakelen. De rest van de configuratie wordt door de gebruiker zelf gedaan. Tijd dus om in te loggen met het account waarop zojuist MFA ingeschakeld is.
Aanmelden met user account
Na de reguliere inlogprocedure meldt de O365-site dat MFA moet worden geconfigureerd voor we verder mogen gaan.
Prompt om MFA te configureren
Default staat MFA ingesteld om gebruik te maken van het mobiele nummer van de gebruiker. Uiteraard kan het mobiele nummer hier gewijzigd worden door de gebruiker en kan er worden gekozen voor een SMS of een spraakoproep.
Instellen van MFA
Ik wil graag hip zijn, dus ik kies voor authenticatie via de mobiele app.
Instellen voor 'mobile app'
Door op 'configure' te klikken kan de app op je telefoon worden geconfigureerd. Dit kan door de url en code uit het pop-up venster over te nemen, of door simpelweg de QR-code met je telefoon te scannen.
Configureren mobile app via QR code
Als de app is ingesteld wordt geverifieerd of authenticatie ook daadwerkelijk werkt.
Verifiëren van applicatie
Als de verificatie succesvol is uitgevoerd kan het instellen van MFA worden afgerond.
Verificatie succesvol
Eén van de laatste stappen is het achterlaten van het mobiele nummer. Op deze manier kun je altijd terugvallen op een andere manier van authenticatie als de app niet beschikbaar is.
Mobiele nummer voor geval van nood
De vierde en laatste stap bij het instellen van je MFA-account is het genereren van een App-Password. Dit wordt, zoals gezegd, gebruikt bij het authenticeren vanuit desktop apps zoals Outlook en Lync.
Configureren van App Passwords
Er wordt één App Password gegenereerd. Uiteraard is het op een later moment alitjd mogelijk om App Passwords bij te maken of juist te verwijderen.
App Password

Als het configureren van MFA voltooid is en het account is ingelogd, kunnen we op de reguliere O365-settings pagina zelf nog zaken aanpassen.
User settings na inloggen
De link 'update my phone numbers' is wellicht wat misleidend, maar hier kan ook de default instelling voor MFA worden ingesteld.
Verschillende beschikbare opties
En op de tab App Passwords kunnen passwords worden aangemaakt over verwijderd.
Aanmaken extra app passwords

Als bij het inloggen de mobiele app om wat voor reden dan ook niet gebruikt kan worden, kan eenvoudig worden gekozen voor een andere vorm van authenticatie.
Mogelijkheid om andere activatie te kiezen
Er verschijnt een lijst mogelijke opties. Alle eerder besproken opties zijn hier beschikbaar.
Keuzemogelijkheden
Ik kies in dit geval voor authenticatie via SMS. Ik ontvang vrijwel direct een SMS op mijn mobiele telefoon met daarin de code die ingevoerd dient te worden.
Authenticatie via SMS

Relatief simpel dus. Eenvoudig in te stellen door te beheerder via de GUI, maar ook via Powershell. De gebruikers kunnen na activatie een mail krijgen waarin netjes staat uitgelegd wat ze moeten doen om hun account correct in te stellen en kunnen zelf bepalen welke form van authenticatie ze willen gebruiken. En uiteraard heeft Microsoft ook nog een handige video waarin het allemaal nog eens wordt uitgelegd.

Met deze multi-factor authentication heeft Microsoft weer een goede stap gezet om Office 365 ook voor meer grootschaliger gebruik goed in de markt te zetten. Op het gebied van security is dit uiteraard een hele grote stap voorwaards en het instellen en beheren is net zo eenvoudig als alle andere functies binnen de Office 365-portal.