Windows Powershell – Hva er det?

Windows Powershell – Hva er det?

Mange har hørt om PowerShell, men har ikke satt seg så mye inn i hva det er. I denne artikkelen skal vi derfor se på hva det er og hvorfor det er viktig for alle som jobber med Windows-baserte systemer.

Praktisk bruk

For å illustrere hvilke gevinster man kan oppnå ved å automatisere prosesser med PowerShell skal vi se på noen praktiske eksempler.

Windows Update er noe alle må ha et forhold til for å ivareta sikkerhet. En mye brukt praksis er å konfigurere klienter for automatisk nedlasting og installasjon av oppdateringer, mens det på server-siden utføres manuell installasjon. Årsaken til dette er blant annet avhengigheter i forhold til oppstartsrekkefølge og redundante systemer. Dermed er det mange som utfører dette manuelt på hver server, noe som fort blir tidkrevende i miljøer med mange servere. I enterprise-miljøer håndteres slikt av systemer som eksempelvis BigFix. Slike løsninger blir gjerne for dyre og komplekse for SMB-miljøer. En kontrollert automatisering av Windows Update ved hjelp av PowerShell kan da være godt alternativ. For å kontrollere rekkefølge settes det typisk opp flere bulker av servere, dette kan gjerne være så enkelt som tekst-filer eller OU`er i Active Directory.

Skjermbilder og eksempel på et script for automatisering av Windows Update kan du finne i dette blogg-innlegget.

Et annet eksempel vi skal se på er administrasjon av servere. For pålogging til servere i mindre miljøer er bruk av “Eksternt skrivebord”-klienten i Windows tilstrekkelig, men i større miljøer er det mer praktisk med verktøy som eksempelvis VisionApp Remote Desktop, Royal TS og Remote Desktop Connection Manager. Remote Desktop Connection Manager er et gratis verktøy fra Microsoft for fjernstyring av servere, og konfigurasjonsfilen er i XML-format. Å jobbe med XML i PowerShell er forholdsvis enkelt, og sammen med PowerShell-modulen for Active Directory er det mulig å hente ut alle server-navn og sette sammen en konfigurasjonsfil for Remote Desktop Connection Manager. Du finner mer detaljer og link til nedlasting av script i blogginnlegget i bloggen min.

I den siste utgaven av Windows Server – 2008 R2 – inneholder Server Manager et nytt verktøy som heter Best Practices Analyzer. Dette er som navnet indikerer et verktøy som kan scanne de fleste server-roller og komme med en oversikt over hva som er, og ikke er, i henhold til anbefalte retningslinjer fra Microsoft.

Dette er en nyttig funksjon som gir oss innblikk i om konfigurasjonen av ulike server-roller er i henhold til de anbefalte retningslinjene, men for de som har et større antall servere er det en tidkrevende oppgave å logge på hver server, starte Server Manager, og for hver server-rolle trykke på “Scan this role”.

Siden Best Practices Analyzer er en PowerShell-modul som i realiteten kjører i bakgrunnen når man scanner en server-rolle, er det mulig å automatisere prosessen ved hjelp av PowerShell remoting. Et eksempel på et script som utfører dette, og samtidig gir muligheten for å få rapporter på e-post samt CSV- og HTML-format er tilgjengelig i et annet blogginnlegg i bloggen min.

I det siste eksempelet skal vi se på oppretting av brukerobjekter i Active Directory. Å opprette en bruker via det velkjente MMC-konsollet Active Directory Users and Computers er en grei sak. Siden stadig flere produkter er Active Directory-integrert er det som regel flere administrasjons-verktøy en bruker må opprettes i. Eksempler på dette er Exchange Server og Microsoft Communications Server. I tillegg skal brukerne gjerne ha hjemmeområder hvor riktige rettigheter skal settes, brukeren skal meldes inn i grupper og så videre. Til slutt begynner dette å bli en omfattende oppgave. Skal man opprette mange brukere, eksempelvis hver sommer i skole-miljøer, vil dette være en tidskrevende oppgave samtidig som at det er en risiko for at man gjør feil på èn eller flere brukere. Ved hjelp av PowerShell er det mulig å utføre alle disse oppgavene på en gang, noe som både er tidsbesparende og er med og kvalitetssikrer resultatet.

Har man brukerinfo i for eksempel et Excel-ark som kan lagres i CSV-format, eller en database fra et fagsystem, kan dette brukes som datagrunnlag ved import. PowerShell MVP Don Jones har en artikkel-serie om bruker-oppretting (user provisioning) på 4 deler i TechNet Magazine hvor han går gjennom oppretting av brukere fra en CSV-fil, oppretting av mailbox i Exchange, oppretting av hjemmeområde, setting av rettigheter og så videre. Artikkelserien finner du hos TechNet Magazine.

Dette var noen utvalgte områder som kan automatiseres for effektivisering av hverdagen for ITPro`er.

Oppsummering

PowerShell er en viktig del av Windows operativsystemer, og er kommet for å bli. Alle nye server produkter fra Microsoft vil ha full støtte for PowerShell, i tillegg til at stadig flere 3. parts produkter følger etter.

Dette har en revolusjonerende innvirkning på administrasjon og automatisering av Microsoft`s produkter og operativsystemer.

Ser man på de praktiske eksemplene fra forrige avsnitt ser man hvor mye inntjening man kan få i form av effektivitet og spart tidsbruk.

Personlig mener jeg ikke at alle skal sette seg dypt inn i PowerShell for å skrive avanserte script og automatisere oppgaver. Derimot mener jeg det er viktig at de som jobber med Microsoft-produkter setter seg inn i hva PowerShell er, bruk av grunnleggende funksjonalitet, og vet om potensialet som ligger der. Dette gjør at man ved behov kan benytte kommandoer, script og moduler som følger med Windows og ulike produkter. I tillegg er det en bred community rundt PowerShell, og veldig mange personer deler ting de har laget. Det fins også mange forum og nettsider hvor man kan få hjelp til alt fra grunnleggende spørsmål til mer avanserte temaer.

Ikke alle har tid til å bruke tid i en hektisk hverdag på å sette seg inn i nye ting, men det er kommet offisielle kurs fra Microsoft som er tilgjengelig. I tillegg til dette fins det mye gratis ressurser på internett, en del av disse finner du linker til i neste avsnitt.

Jeg vil avslutte denne artikkelen med et sitat fra PowerShell`s arkitekt, Jeffrey Snover:

If you’re using Windows and not retiring in the next 12 to 18 months, you need to learn PowerShell.

Ressurser

Last ned Windows PowerShell (for OS lansert før Windows 7/Windows Server 2008 R2)

PowerShell-artikler på ITPro.no:

Guide: Windows PowerShell
Administrasjon av Active Directory med Windows PowerShell
Administrasjon av Group Policy med Windows PowerShell

Blogger:

PowerShell Team Blog
Hey, Scripting Guy! Blog – nye artikler og script hver dag, 24/7
EverythingPowershell – Ragnar Harper`s PowerShell-blog

Gratis ebooks:

Master-PowerShell av MVP Tobias Weltner
Effective Windows PowerShell av Keith Hill
Administrator’s Guide to Windows PowerShell Remoting

Bøker:

Windows PowerShell In Action – 2nd Edition – designeren av PowerShell, Bruce Payette
Windows PowerShell Cookbook, Second Edition – PowerShell team-medlem Lee Holmes
Windows PowerShell TFM 2.0 – Don Jones og Jeffrey Hicks
Bli kjent med PowerShell – norsk bok av Ragnar Harper

Kurs:

Kurs 10325A: Automating Administration with Windows PowerShell 2.0
Kurs 50414: Powershell v2 for Administrators

Andre linker:

Windows PowerShell Quick Reference
Monad Manifesto – the Origin of Windows PowerShell
Mange flere ressurser finner du på TechNet Wiki-siden Windows PowerShell: Survival Guide

For flere artikler om PowerShell og andre fagområder, følg med på Microsoft Norge`s nyhetsbrev, TechNet Flash.

Page 2 of 212
Sender din rapport, vennligst vent...

Ved å rapportere en artikkel gjør du forfatteren oppmerksom på en eventuell feil i artikkelen. Dette vil hjelpe oss til å rette opp feilen så fort som mulig.


Rapport:
Skriv din rapport:
(frivillig)