powershell

De flesta Windowsadministratörer är sedan lång tid tillbaka vana att genomföra de flesta åtgärder via ett grafiskt gränssnitt (gui). En grafisk administrationsmiljö är enkel att arbeta i, men har svårt att erbjuda den flexibilitet och möjlighet till automatisering som ett skript ger.

Microsoft har därför skapat ett skriptspråk som heter Powershell, och det får stöd i allt fler produkter. Exchange 2007 var en av de första produkter som helt baserades på Powershell – det gui som finns där är egentligen inget annat än en enda stor Powershell-generator.

Klarar det mesta
I många produkter går det att se det Powershell-skript som kommer att köras. I Windows Server 2008 R2 fanns cirka 230 Powershell-kommandon och i Windows Server 2012 finns över 2 400 stycken, vilket innebär att de flesta åtgärder kan ske med skript.

Även i klienten
I de senaste versionerna av alla Microsofts serverprodukter kan du arbeta via Powershell. Även klienten Windows 7 innehåller Powershell, så där kan du till exempel köra skript som samlar in information eller genomför åtgärder baserat på avancerade filtreringar.

Det är alltså ingen tvekan om att Powershell är en tydlig inriktning från Microsofts sida och det finns goda anledningar till den. Låt oss nu se hur Powershell egentligen fungerar.

Powershell byggs upp av flera olika delar. Microsoft tillhandahåller själva plattformen i form av Power-shell med grundläggande moduler som innehåller Powershell-kommandon, så kallade cmdlets.

Man utökar enkelt med flera moduler som olika produkter registrerar i Powershell då de installeras, och man får då möjlighet att använda även de cmdlets som de modulerna tillför via Powershell.

Exempel på externa leverantörer är VMware som tillhandahåller en gratismodul för Powershell som gör att du kan automatisera många uppgifter i Vsphere via Powershell, och Quest som erbjuder en gratis nedladdning av en modul för att hantera deras vdi-produkt Vworkspace.

Cmdlets är alltid uppbyggda enligt mönstret verb-substantiv, till exempel Get-Mailbox eller Remove-ADUser. För att få mer information om vilka kommandon som finns kan du använda kommandona Get-Command och Get-Help. Du kan också få en specifik lista över kommandon som hör till en viss produkt, till exempel Get-Excommand för att få en lista över cmdlets som kan användas med Exchange.

Den grundläggande komponenten i Powershell är alltså en cmdlet (uttalas ”kommandlet”). En cmdlet är ett Powershell-kommando som genomför något, men den kan också ta emot data från en annan cmdlet och genomföra sitt eget arbete på det urval av data som den andra cmdleten ger den.

Sida 1 / 4

Innehållsförteckning

Fakta

  • Azure och Azure IaaS: Övergripande namn på Microsofts molntjänster för utvecklare och it-proffs. Har hittills varit en plattform att placera webbaserade applikationer på (paas, platform as a service) men i och med den nya rollen virtual machines finns också en iaas-tjänst (infrastructure as a service), där man kan placera traditionella virtuella servrar.
  • cmdlet: Enstaka kommando i Powershell. Exempel: Move-Mailbox eller New-AzureVM.
  • ISE, Integrated Scripting Environment: Microsofts grafiska utvecklingsverktyg för Powershell.
  • | (pipeline): Tecken som används för att skicka data mellan olika cmdlets. Kallas pipeline, pipe, vertikalis eller lodrätt streck.
  • Powershell: Kommandoradsbaserat skriptspråk som kan genomföra och automatisera åtgärder i olika produkter baserat på avancerade filtreringsmöjligheter.
  • VMM, Virtual Machine Manager: Del-produkt i Microsoft System Center för att hantera interna virtuella miljöer.
  • växel (även argument, flagga, option): Anger hur ett kommando ska bete sig. Det finns bara ett visst antal förutbestämda växlar som kan användas i ett kommando.