Enkel installasjon av applikasjoner med PowerShell OneGet

De fleste versjoner av Linux har lenge hatt en automatisert metode for installasjon av applikasjoner.

En av de mest populære er kanskje Debian sin pakkeløsning Advanced Packaging Tool (APT). Denne gjør det simpelt å installere applikasjoner ved bruk av kommandoen apt-getfor eksempel apt-get install p7zip-full for å installere 7Zip.

Nå følger Microsoft (endelig) etter, og lanserer OneGet for PowerShell. OneGet blir tilgjengelig sammen med Windows Management Framework (WMF) versjon 5 som ikke er lansert enda, men kan testes allerede i dag!

Chocolatey

Noen Linux Windows entusiaster har i en tid nå brukt en pakkeløsning som heter Chocolatey. Denne ble i utgangspunktet laget for å gi «apt-get» funksjonalitet på Windows plattformen. Microsoft har tydeligvis plukket opp dette, og har funnet tjenesten såpass bra at de nå har inkorporert den i nyeste versjon av PowerShell. PowerShell blir installert som en del av Windows Management Framework, som nylig ble sluppet som preview i versjon 5. Denne er tilgjengelig for nedlasting fra http://www.microsoft.com/en-us/download/details.aspx?id=42316 og krever at du har Windows 8.1. Initielt har Microsoft valgt å legge til Chocolatey sin «repository» for OneGet, noe som i prinsippet betyr at man får mulighet til å laste ned og installere applikasjoner fra Chocolatey sin pakkeserver.

PowerShell OneGet

For å begynne å bruke OneGet, må WMF 5.0 være installert, og man må importere den nye OneGet modulen.

Vi sjekker at vi har WMF 5.0 installert

WMF_Version

Ser bra ut, la oss importere OneGet modulen

ImportOneGet

Først sjekker vi hvilke kommandoer som er tilgjengelig

OneGetCommands

La oss verifisere at Chocolatey sin pakkeserver er definert som kilde (NB: Kilden er i utgangspunktet ikke stolt på, noe som betyr at man må godkjenne en eventuell installasjon fra denne kilden)

Repository

La oss se hvor mange applikasjoner som er tilgjengelig i dag

PackageCount

1746 applikasjoner i Chocolatey sin kilde, la oss finne  et zippe-program

FindPackage

Vi installerer 7Zip (NB: En dialog vil vise seg hvor man må godkjenne installasjonen. Dette fordi kilden i utgangspunktet ikke er stolt på)

Install

La oss sjekke at 7zip er installert på riktig måte

CheckInstall

Det ser veldig riktig ut, og det installerer seg slik vi administratorer ønsker. La oss til slutt avinstallere det

Uninstalled

Lett, eller hva? 🙂

Man kan selvfølgelig legge til andre pakkekilder enn Chocolatey, eller som sikkert mange ønsker å gjøre etter hvert; sette opp egne kilder i organisasjonen.

Desired State Configuration (DSC) og OneGet

Det er sammen med DSC kraften av OneGet kommer til sitt fulle, og denne integrasjonen er noe undertegnede syntes er veldig spennende. DSC gjør det enkelt for en administrator å sette opp en «konfigurasjon» eller et regelsett mot en eller flere servere/klienter i et domene skrevet i PowerShell. Gjennom DSC definerer en administrator hvordan han/hun ønsker at en konfigurasjon på en server/klient skal være, og metodikk innebygget i DSC sørger for at dette faktisk skjer. Jeg rekker ikke gå inn på alle detaljene om DSC her (Les om DSC hos Microsoft), men jeg har laget et eksempel under som beskriver et konfigurasjonsett som sørger for at applikasjonen SysInternals er installert. Dette konfigurasjonsettet kan dyttes ut på et stort antall servere/klienter på meget kort tid, eller man kan kjøre det som en «scheduled task» for å sørge for at dette alltid er tilfelle for å unngå konfigurasjonsdrift.

DSC-OneGet

 

2 kommentarer om “Enkel installasjon av applikasjoner med PowerShell OneGet

  1. Bonus: Mannen bak PowerShell, Jeffrey Snover, viste til denne lille ninja-kommandoen som gjør det enkelt å søke etter applikasjoner i en slags GUI: «Find-Package | Out-GridView» Prøv selv! 🙂

  2. Tilbaketråkk: Steria

Legg inn en kommentar