Artikel top billede

(Foto: Computerworld)

Kommandolinjen retur til Windows

Windows Server 2008 R2 er på vej, og med den kommer også
den næste version af PowerShell. Med version 2 af PowerShell tager Microsoft
endelig springet til en kommandolinie, der er lige så stærk som dem, vi finder
på Linux- og Unix-operativsystemerne.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Powershell 2 kommer til at betyde, at vi endelig kan bruger Powershell til fjernadministration af servere. Hvis du tager et kig på figur 1, kan du se, at PowerShell 2 ligner version 1 til forveksling.

Det er da heller ikke her, de store ændringer gør sig gældende, men tag et kig på figur 2, så kan du med det samme se, at der er foretaget nogle interessante ændringer i version 2 af PowerShell.

Der kan du se det, Microsoft kalder for ISE, eller Integrated Scripting Environment. Med ISE er der nu mulighed for at sætte breakpoints i dine scripts, og foretage debugging på samme måde, som hvis du udviklede deciderede .NET-programmer.

Debugging af PowerShell scripts er ikke nær så avancerede som med .NET-programmer, men muligheden for basal debugging er meget velkommen. På figur 3 kan du se, at der er syntax-fremhævning i ISE, læg også mærke til, at der er flere faneblade åbne. Den funktionalitet har der været længe med tredjepartsprogrammer, som PrimalScript og Ultra Edit.

Det lyder måske banalt, men hvis du bruger PowerShell meget, så er det disse ting man lærer at sætte pris på, når man sidder på tredje time og udvikler på et script. Du finder naturligvis de sædvanlige ting, som du kan forvente at finde i en editor, for eksempel søgefunktionalitet, gå til linje, med mere.

Det midterste vindue på figur 2, bliver brugt til at vise resultatet af dine scripts, eller de kommandoer du taster ind i det nederste vindue. Du behøver nemlig ikke at have et separat vindue med PowerShell, når du bruger ISE. Det nederste vindue fungerer fuldstændigt som PowerShell vil gøre uden for ISE.

Det er jo alt sammen meget godt med ISE, men hvad så med nye cmd-lets, der er de indbyggede kommandoer, der kommer med PowerShell. Der er selvfølgelig masser af nye kommandoer med PowerShell 2.

En af dem jeg personligt er meget glad for, er Out-GridView. Der findes situationer, hvor det resultat, du får fra dine kommandoer, vil være langt. Hvis det sker, så er der nu mulighed for, at sende resultatet til Out-GridView.

På figur 4 har jeg vist de kørende processer på min computer og sendt dem til Out-GridView commandoen. Det åbner et nyt grafisk vindue med listen af mine processer. Jeg kan nu bruge dette vindue til at sortere mit resultat, eller taste et eller andet ind i søgefeltet, jeg har endda mulighed for, at bruge boolske operatorer i min søgning.

Masser af nye kommadoer

Det er flere nye kommandoer, end jeg kan komme ind på i denne artikel, men et par stykker mere skal du have. På WMI-siden (Windows Mangement Instrumentation) er der Invoke-WmiMethod, der nu gør der muligt at kalde en specifik funktion i et WMI objekt. Hvis du bruger PowerShell til at scripte administrative opgaver i dit Active Directory(AD), så vil du sikkert sætte pris på de nye kommandoer til at søge i dit AD.

Helt specifikt er der kommet en ny datatype til, kaldet ADSISearcher, som bruges til at definere diverse forespørgsler i AD.

PowerShell 2 er bagudkompatibel med scripts, der er skrevet til PowerShell 1. Det har man hørt før, men det skal retfærdigvis siges, at jeg ikke selv er løbet ind i nogle kompatabilitetsproblemer mellem script til version 1 og version 2 af PowerShell. Også filtypenavnet er det samme som i version 1 af PowerShell. Dine scripts bliver gemt ned .ps1 som filtype.

Nu har jeg godt nok kun nævnt PowerShell 2 som en integreret del af Windows Server 2008 R2, men lur mig om den ikke også kommer som download til de tidligere udgaver af Windows. Om Microsoft vælger at gøre den tilgængelig helt tilbage til Windows XP, står for nærværende hen i det uvisse.

I skrivende stund er PowerShell 2 ude i en CTP 3-udgave. CTP står for Community Technology Preview. Det vil sige, at PowerShell 2 ikke er klar til at blive brugt i produktionsmiljøer endnu. Jeg har forsøgt at installere og køre CTP 3 i en virtuel maskine, der kørte Windows Vista, men når jeg prøvede at starte ISE op, så gik det hele ned med et brag.

Som sagt, så er det meningen, at PowerShell 2 skal udkomme som en del af Windows Server 2008 R2. Den udgivelse er sat til at komme samtidigt med Windows 7, så vi skal nok regne med en færdig version i slutningen af 2009 eller starten af 2010.

Hvis du gerne selv vil prøve PowerShell 2, så kan du finde den på Microsofts downloadsider. For at kunne bruge ISE, kræver det, at du har .NET 3.5 SP1 installeret. Hvis du bare vil bruge kommandolinjen, så er .NET 2.0 nok.

Hvad angår fjernadgang med PowerShell 2, så har jeg ikke selv haft mulighed for at prøve det af, men der findes sider ude på internettet, der har prøvet det, og dem jeg har læst har vist stor begejstring for det. Du kan følge udviklingen af PowerShell 2 på den blog som PowerShell-holdet har på MSDN. Linket til den blog er i linksboksen. God fornøjelse.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Links

[/themepacific_accordion_section]
[/themepacific_accordion]