Adam the Automator

PowerCLI fra VMWare er den de-facto måde at administrere vCenter med PowerShell på. I denne vejledning lærer du, hvordan du starter fra bunden; downloader, installerer og forstår, hvordan PowerCLI kan hjælpe dig med at få mere ud af det.

Langs denne rejse vil du lære:

  • Sådan spotter du historiske versioner af PowerCLI, som du kan støde på i ældre scripts
  • Sådan installerer du den nyeste version af PowerCLI
  • Brug VMware Code som en ressource
  • Sådan installerer du VMware PowerCLI på tværs af både Windows PowerShell 5.1 og PowerShell 6/7 til brug på tværs af platforme.

“I de fleste henseender er VMware PowerCLI den mest konsistente administrative grænseflade i hypervisorens langvarige historie.”

Overstående parafraserede kommentar blev delt om PowerCLI’s modstandsdygtighed og betydning i en systemadministrators værktøjskasse. Den blev delt under en VMware PowerCLI-session på PowerShell Summit i 2019.

Interfacing med vSphere og VMware har gennemgået et væld af iterationer, fra den oprindelige softwareklient, flash-klient, HTML5- og flex-webklient-versioner. I hver ny version ændrede grænsefladerne sig på ofte fejlbehæftede eller funktionsfattige måder.

På den anden side har VMware PowerCLI’s syntaks været stabil i hele dens livscyklus med kun én distributionsændring. Den store ændring var overgangen fra et PowerShell-snapnins til PowerShell-modul.

PowerCLI er effektivt den sidste mand, der står for konsistensens skyld, når man administrerer VMware-produkter.

Indholdsfortegnelse

Fra snapin til ingen offentlig adgang

Den oprindelige downloadplacering for VMware PowerCLI lå bag et link på en PowerCLI 5.1-side. På grund af denne begrænsning havde offentligheden kun begrænset adgang til dette værktøj.

PowerCLI 5.1 og tidligere var også et PSSnapin i stedet for et modul, hvilket gjorde portabilitet meget vanskeligere. Som tilhænger af denne blog vil du sandsynligvis genkende dette som et legacy-format for sådanne værktøjer. På grund af de besværlige installationstrin viste snapins sig at være vanskeligere at få en masseudbredelse af PowerCLI. Heldigvis for dig, PowerCLI fra og med den seneste version 6.0 leveres som et PowerShell-modul og ikke som et snapin!

Med denne udgivelse af PowerCLI 6.0 i september 2015 var spillet begyndt at ændre sig. Denne version var den første iteration, der blev udgivet som et PowerShell-modul og blev leveret med ca. 400 cmdlets i alt. Behovet for en my.vmware.com-konto var dog stadig til stede indtil version 6.5.1 udgivet den 20/4/2017 til PowerShell-galleriet.

I den nuværende version (11.3.0) af VMware PowerCLI har modulet lige under 700 cmdlets til administrativ dækning over et væld af VMware-produkter. Disse produkter omfatter vCenter, vCloud Director, VMware Horizon og mange andre.

Listen over cmdlets fortsætter med at vokse med VMware-porteføljen, men de gennemprøvede og sande PowerCLI-standarder holder sig stærke som en kraft af konsistens.

Cmdlets i PowerCLI PowerShell-modulet

Forudsætninger

Vi er ved at være klar til at springe ud i en demo, så vær sikker på, at du har alle disse forudsætninger, så du kan følge med mig.

  • VMware-vært eller vCenter-server til valideringstest
  • Windows-, Mac- eller Linux-klientmaskine

Download af VMware PowerCLI

Det nye langsigtede hjemsted for PowerCLI-projektgruppen er sat på https://code.vmware.com. Alle anmodninger om funktioner, kommentarer og dokumentation for dette modul, der er rejst af fællesskabet, er nu en del af det samme websted som SDK-, API- og certificeringsressourcerne.

Hvis du har spørgsmål eller ønsker at rejse anmodninger om funktioner direkte med teamet, kan du henvende dig til både PowerCLI-teamet og fællesskabet omkring dette projekt på code.vmware.com. Både fællesskabet og VMware-projektteamet er meget lydhøre over for spørgsmål, bekymringer og nye idéer, efterhånden som de opstår.

Hvis du gerne vil udføre en PowerCLI-download via internettet, giver PowerCLI-teamet et direkte link til to muligheder for deres PowerShell-modul:

  • Link til PowerShell Gallery for at downloade og installere ved hjælp af PowerShells pakkehåndtering
  • En .zip-arkiv af modulets indhold, der skal installeres manuelt

PowerShell Gallery er langt den mest almindelige måde at downloade PowerCLI på, men zip-arkivet fungerer også. Bemærk, at du ikke er nødt til at bruge PowerShell Gallery-linket her. Du kan også downloade den via PowerShell.

Installation af VMware PowerCLI i Windows PowerShell

Der er et par forskellige måder at installere PowerCLI på.

Udpakning af ZIP-filen

Hvis du har downloadet den via nettet fra ovennævnte side, skal du installere den manuelt. Du skal få PowerCLI et sted, hvor PowerShell kan se det.

For at installere modulet via den medfølgende zip-pakke skal du udpakke indholdet til den ønskede placering af modulet. Denne placering vil enten være din brugerprofilplacering (for ikke-administrativt anvendelsesområde) eller til den systemdækkende modulmappe.

%UserProfile%\Documents\WindowsPowerShell\ModulesC:\Program Files\WindowsPowerShell\Modules

Udpak .zip-indholdet til en af de ovennævnte placeringer.

PowerShell Gallery

Den nemmeste og hurtigste måde, du kan hente og installere PowerCLI på i dag, er at bruge download af modulet fra PowerShell Gallery i en PowerShell-konsol. Nedenfor finder du en hurtig video om de generelle installationstrin for et nyt modul til PowerShell med denne metode.

Men alt i alt kan du udføre følgende fra en administrativ PowerShell-prompt for at få arbejdet gjort.

PS51> Install-Module VMware.PowerCLI

Hvis du gerne vil udføre en PowerCLI-installation på en arbejdsstation, hvor du ikke har administrative rettigheder, kan du bruge parameteren Scope til at installere modulet i din brugerprofils modulsti.

PS51> Install-Module VMware.PowerCLI -Scope CurrentUser

Installation af VMware PowerCLI i PowerShell 6 på Linux

Nu kan du også installere PowerCLI på ikke-Windows-systemer. Vi kan f.eks. installere PowerCLI i PowerShell Core på Ubuntu. Igen, afhængigt af om du har valgt at downloade zip-filen, PowerShell-galleriets weblink eller direkte via PowerShell-konsollen, er installationsprocessen lidt anderledes.

Udpakning af ZIP-filen

Afhængigt af Linux-flavoren skal du udpakke .zip-filens indhold til forskellige steder.

Åbn PowerShell på Linux ved at køre pwsh i din terminal. Find de potentielle PSModulePath-placeringer ved hjælp af følgende kommando:

PS61> ($env:PSModulePath).split(":")
Kataloger i PSModulePath

Når du har fundet ud af, hvor du vil installere modulfilerne, skal du downloade dem til den pågældende placering og forberede udpakningen. Du skal enten udpakke dem til mappen /home/ for brugeradgang eller til /opt/ for systemadgang.

I dette eksempel på en Linux-baseret installation bruger jeg Ubuntu 18.04 og vil installere VMware PowerCLI 11 ved hjælp af den .zip-fil, der er downloadet herfra, og installere modulet, så alle brugere på denne maskine kan få adgang til det.

> cd /opt/microsoft/powershell/6/Modules> sudo apt install unzip> sudo wget https://vdc-download.vmware.com/vmwb-repository/dcr-public/8bf09c32-43c0-46d4-8816-92515c3b8228/15761272-b339-4da4-888a-4b8633f9a964/VMware-PowerCLI-11.3.0-13990089.zip> sudo unzip ./VMware-PowerCLI-11.3.0-13990089.zip

Du kan derefter importere dette modul, fordi modulfilerne nu er på en af dine $PSModulePath placeringer, via en normal udførelse af:

Import-Module VMware.PowerCLI

Installation af det ældre VMware PowerCLI-snap

Sommetider kan du opleve, at du er nødt til at installere det ældre PowerCLI-snap. Måske har du overtaget ansvaret for noget ældre kode og har brug for at fejlfinde problemer. For at undgå at omarkitere dine eksisterende scripts, er det nødvendigt at installere det gamle snapin.

For at installere det gamle snapin skal du bruge en my.vmware.com-konto for at logge ind og hente filen VMware-PowerCLI-5.1.0-3090428.exe. Når du har hentet snapinet, skal du installere det via den eksekverbare fil via en normal Windows-programinstallation.

Du kan derefter køre Add-PSSnapin for at indlæse VMware-cmdlets i din session eller starte den medfølgende VMware PowerCLI-konsol på en selvstændig måde.

Nedenfor kan du se, at jeg bruger Add-PSSnapin-cmdletten til at tilføje PowerCLI-version 5.1 til min aktuelle konsolsession.

PS51> Add-PSSnapin VMware*
PowerCLI-snapins

Lancer den installerede stand-alone VMware PowerCLI-genvej, der bliver installeret med version 5.1.

PowerCLI v5.1 konsol

Bemærk, at ovenstående snapin ikke er kompatibel med PowerShell 6/7.

Verifikation af installation af PowerCLI

Verifikation af, at din installation af PowerCLI er vellykket, er den samme, uanset hvilken version af PowerShell du har. Det første trin, bekræft tilstedeværelsen af modulerne fra PowerShell-konsollen.

Get-Module -ListAvailable VMware* 
Afailable PowerCLI modules

Dernæst skal du forsøge at bruge PowerCLI til at oprette forbindelse til vCenter med cmdlet Connect-VIServer. Dette vil ikke kun bekræfte, at modulet blev installeret med succes, det vil også teste, om du opretter korrekt forbindelse til din infrastruktur.

På Windows

PS51> Connect-VIServer <FQDN of vCenter or ESXi Host>
Forbindelse til vCenter med VMware PowerCLI på Windows

På Linux

Når du verificerer installationen på Linux, skal du først indstille forbindelseskonfigurationen til at tage højde for et ugyldigt (eller standardsigneret certifikat), hvis du støder på forbindelsesproblemer. Nedenfor bruger jeg PowerCLI til at oprette forbindelse til vCenter.

PS> Set-PowerCLIConfiguration -InvalidCertificateAction:ignorePS> Connect-VIServer <FQDN of vCenter or ESXi Host>
Oprettelse af forbindelse til vCenter med VMware PowerCLI på Linux

Da du kunne oprette en vellykket forbindelse til dit VMware-slutpunkt, er PowerCLI’en succesfuldt oppe og køre!

Go Forth and PowerCLI!

Fra dette punkt er du nu klar til at besvare det ordsproglige spørgsmål: “Hvordan installerer jeg VMware PowerCLI?”. Du kan nu begynde at arbejde med scripting af dine konfigurationsimplementeringer, VM-rapporter og vedligeholdelsesopgaver. Hold dig opdateret på denne blog for nye og kommende artikler om at komme i gang med PowerCLI!

Yderligere læsning

  • Sådan importerer du en OVF-fil i VMware med PowerShell

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.