Powershell

När Microsoft, som mest var kända för en undermålig dos-prompt, släppte en kommandotolk de hade mage att kalla för Powershell var det många som var skeptiska. Men Powershell har vuxit från att vara ett valbart alternativ till en integrerad del i operativsystemet, och en viktig komponent i Microsofts framtida strategi.

I dag är det inte längre någon som skrattar. Powershell gör skäl för namnet och Windows-administratören kan skripta i stort sett allting i operativsystemet med Powershell. Microsofts stora fördel mot Linux och Unix-baserade system är att de är enda leverantören till all mjukvara och har haft möjligheten att ensamma diktera villkoren för hur Powershell ska se ut och utformas.

Powershell bygger i botten på Korn shell, men har förbättrats med funktioner som objektorientering, inbyggt stöd för xml och effektiv processhantering. Microsofts strategi är att allting ska gå att skripta med Powershell – Microsoft Exchange Server, Microsoft SQL Server, Microsoft Sharepoint Server, Active Directory, allting går att styra från Powershell.

Du kan till och med utveckla grafiska applikationer i Powershell tack vare integrationen med gränssnittet Windows Forms Library.


Powershell

Powergui är en populär miljö för de som skriptar i Powershell. Via Powergui får du en överblick över vilka systeminställningar du kan göra via Powershell. I efterhand kan du lägga till fler moduler om du till exempel vill styra Active Directory eller Exchange Server.


Objekt eller text
Den kanske största skillnaden mot Linux kommandotolk Bash är att Powershell är objektorienterat medan Bash är textorienterat. När du skickar utdata från ett kommando till ett annat i Bash via pipelining är det text som skickas. När du gör samma sak i Powershell är kommandotolken medveten om att det är objekt som skickas, och alla objektegenskaper följer med.

Fördelar med Powershell jämfört med tidigare tekniker, till exempel Visual Basic, är att det är betydligt enklare att paketera och distribuera skript. Ribban har sänkts och gjort det möjligt för dem som inte är så värst programmeringsintresserade att skapa tunga lösningar.

Fjärrstyrning av klienter går att utföra med hjälp av Powershell Remoting och motsvarar ssh i Linuxvärlden. En av fördelarna med den tekniken är att det går att skicka förfrågningar eller arbetsuppgifter parallellt till hundratals eller tusentals klienter. Powershell Remoting är standard från och med Powershell 2.0 och är inbyggt i Windows 7.

I dag är Powershell de facto-standarden för Windows och finns inbyggt i Windows 8 och Windows 2012 Server. Powershell ersätter tekniker som Visual Basic, Vbscript, wmi, com och vanliga exe-filer.


bash

Skriptar du i Bash arbetar du troligtvis helst vid prompten eller i en editor som Vi eller Emacs. Här har vi installerat Vim, eller Vi improved, som har stöd för syntax highlighting.


Bash

Om Powershell är standardspråket på Windows-plattformen kan Bash-skript, eller tidigare Shell-skript, sägas vara standardspråket på Linux. Varje gång du öppnar ett terminalfönster är det Bash som utför de kommandon som du matar in. Alla kommadon går att skripta i en fil som börjar med #!/bin/bash. Tack vare förmågan att omdirigera in- och utdata går det snabbt att skapa egna ”superkommandon” med Bash. Skriv ut (”eka ut”) alla rader som innehåller raden TODO i en katalogstruktur, lägga upp konfigurationsfiler åt alla användare i ditt system eller automatisera tillverkandet av virtuella maskiner. Det finns få begränsningar för vad du kan göra med Bash om du är kreativ.

Precis som Microsofts Powershell har Bash hämtat sin inspiration från Korn Shell som utvecklades av David Korn på Bell Laboratories i början på 1980-talet. Utvecklingen av Bash tog fart 1988 tack vare att Richard Stallman på Free Software Foundation efterlyste ett öppet alternativ som klarade av att tolka sh-skript. Utvecklingen av Bash finansierades av nämnda stiftelse och Brian Fox gjorde jobbet.

Bash kommer troligtvis aldrig att gå ur tiden. Ett tecken på det är OS X, som bygger på Unix-operativet BSD där Bash körs som skal när du öppnar ett terminalfönster. Grafiska gränssnitt i all ära, men när du verkligen behöver 100 procent kontroll över vad du gör är Bash helt oslagbart.


”Allt går att göra med Powershell”


Fredrik Jonsson, Techta.
Fredrik Jonsson jobbar som säkerhetskonsult på Techta och Powershell är en del av hans vardag. Områden där han använder skriptspråket sträcker sig från vanliga hack vid prompten till avancerad hantering av digitala certifikat. Enligt honom är det bäst att du lär dig skripta så fort som möjligt.

– Scripting kommer absolut att bli viktigare framöver – se bara på Windows Server 2012. Allt går att göra med Powershell idag, med nativa cmd-lets. Drivkraften bakom skriptning stavas automatisering.

– Anledningen till att du skriptar är att saker och ting blir rätt varje gång du gör dem. Du slipper också vänta på tidskrävande åtgärder innan du gör nästa. Du kan helt enkelt göra mer på flera servrar samtidigt, säger Fredrik Jonsson.


“Skriptning behövs inte längre”


Jimmy Ohlsson, Atea.
Alla är inte helt positiva till skriptning. Jimmy Ohlsson som är virtualiseringsexpert på Atea jobbar med VM-­wares produkter och där behövs inte skriptning i någon större utsträckning.

– Nä, jag skriptar inte så mycket. Programvarorna är så pass bra och gör det mesta man vill tycker jag, svarar han på frågan om han skriptar mycket i jobbet. När han väl skriptar är det med Bash.

– Eftersom jag inte jobbar med Microsofts produkter är det Bash som gäller. Det är klart att man gör en del utan gui i Linux, och eventuellt i Vsphere, men sedan VMware tog bort service-konsolen för några år sedan är det inte så mycket man kan göra längre.

– Jag vet att det finns folk i branschen som inte anställer en konsult som inte kan skripta. Själv tycker jag det är lite att ta i. Jag har många kollegor som inte kan, och de är framgångsrika på andra områden i stället. Till exempel blir säljkonsultation allt viktigare, det håller jag på med själv till 50 procent, säger Jimmy Ohlsson.

– Jag tror inte det kommer bli viktigare att skripta i framtiden, men jag är kanske bara lite negativ eftersom jag inte är någon fena själv.


Sida 2 / 3

Innehållsförteckning