PowerCLI från VMWare är det bästa sättet att hantera vCenter med PowerShell. I den här handledningen får du lära dig att börja från början; ladda ner, installera och förstå hur PowerCLI kan hjälpa dig att få mer gjort.
Under resan kommer du att lära dig:
- Hur du upptäcker historiska versioner av PowerCLI som du kan stöta på i äldre skript
- Hur du installerar den senaste versionen av PowerCLI
- Använd VMware Code som resurs
- Hur du installerar VMware PowerCLI i både Windows PowerShell 5.1 och PowerShell 6/7 för plattformsoberoende användning.
”I de flesta avseenden är VMware PowerCLI det mest konsekventa administrativa gränssnittet i hypervisorns långa historia.”
Ovanstående parafraserade kommentar delades om PowerCLI:s motståndskraft och betydelse i en systemadministratörs verktygslåda. Den delades under en VMware PowerCLI-session vid PowerShell Summit 2019.
Interfacing med vSphere och VMware har genomgått en mängd iterationer, från den ursprungliga programvaruklienten, flashklienten, HTML5- och flex-webbklientversioner. I varje ny version ändrades gränssnitten på ett ofta buggigt eller funktionsfattigt sätt.
På andra sidan har syntaxen för VMware PowerCLI förblivit stabil under hela livscykeln med endast en distributionsändring. Den stora förändringen var övergången från ett PowerShell-snapin till PowerShell-modul.
PowerCLI är i praktiken den sista mannen som står kvar för konsekvensens skull när man administrerar VMware-produkter.
Innehållsförteckning
Från snapin till ingen offentlig åtkomst
Den ursprungliga nedladdningsstället för VMware PowerCLI låg bakom en länk till en PowerCLI 5.1-sida. På grund av denna begränsning hade allmänheten endast begränsad tillgång till verktyget.
PowerCLI 5.1 och tidigare var också en PSSnapin snarare än en modul, vilket gjorde portabiliteten mycket svårare. Som följare av den här bloggen känner du förmodligen igen detta som ett äldre format för sådana verktyg. På grund av de besvärliga installationsstegen visade sig snapins vara svårare att få en massadoption av PowerCLI. Som tur är levereras PowerCLI från och med den senaste versionen 6.0 som en PowerShell-modul och inte som en snapin!
Med den utgåvan av PowerCLI 6.0 i september 2015 hade spelet börjat förändras. Den här versionen var den första iterationen som släpptes som en PowerShell-modul och levererades med cirka 400 cmdlets totalt. Behovet av ett my.vmware.com-konto fanns dock kvar fram till version 6.5.1 som släpptes 2017-04-20 till PowerShell Gallery.
I den nuvarande versionen (11.3.0) av VMware PowerCLI har modulen knappt 700 cmdlets för administrativ täckning av en mängd VMware-produkter. Dessa produkter inkluderar vCenter, vCloud Director, VMware Horizon och många andra.
Listan över cmdlets fortsätter att växa med VMware-portföljen, men de beprövade PowerCLI-standarderna håller sig starka som en kraft av konsistens.
Förutsättningar
Vi är snart redo att hoppa in i en demo så se till att du har alla dessa förutsättningar så att du kan följa med mig.
- VMware-värd eller vCenter-server för valideringstestning
- Windows-, Mac- eller Linux-klientmaskin
Nedladdning av VMware PowerCLI
Den nya långsiktiga hemvisten för PowerCLI-projektgruppen är fastställd till https://code.vmware.com. Alla funktionsförfrågningar, kommentarer och dokumentation för den här modulen som tagits upp av gemenskapen finns nu på samma webbplats som SDK, API och certifieringsresurser.
Om du har några frågor eller vill ta upp funktionsförfrågningar direkt med teamet kan du kontakta både PowerCLI-teamet och gemenskapen som omger det här projektet på code.vmware.com. Både gemenskapen och VMware-projektgruppen är mycket lyhörda för frågor, problem och nya idéer när de dyker upp.
Om du vill utföra en PowerCLI-hämtning via webben tillhandahåller PowerCLI-teamet en direktlänk till två alternativ för deras PowerShell-modul:
- Länken till PowerShell Gallery för att hämta och installera med hjälp av PowerShells pakethanterare
- En .zip-arkiv med modulens innehåll som ska installeras manuellt
PowerShell Gallery är det absolut vanligaste sättet att hämta PowerCLI, men zip-arkivet fungerar också. Observera att du inte behöver använda PowerShell Gallery-länken här. Du kan också hämta den via PowerShell.
Installera VMware PowerCLI i Windows PowerShell
Det finns några olika sätt att installera PowerCLI.
Extrahera ZIP-filen
Om du har hämtat den via webben från den ovan nämnda sidan måste du installera den manuellt. Du måste få PowerCLI på en plats där PowerShell kan se den.
Om du vill installera modulen via det medföljande zip-paketet måste du extrahera innehållet till valfri modulplats. Denna plats kommer antingen att vara platsen för din användarprofil (för icke-administrativt tillämpningsområde) eller till modulmappen för hela systemet.
%UserProfile%\Documents\WindowsPowerShell\ModulesC:\Program Files\WindowsPowerShell\Modules
Extrahera .zip-innehållet till en av ovanstående platser.
PowerShell Gallery
Det enklaste och snabbaste sättet att hämta och installera PowerCLI i dag är att använda nedladdning av modulen från PowerShell Gallery i en PowerShell-konsol. Nedan hittar du en snabb video om de allmänna installationsstegen för en ny modul till PowerShell med den här metoden.
Men i stort sett kan du utföra följande från en administrativ PowerShell-prompt för att få jobbet gjort.
PS51> Install-Module VMware.PowerCLI
Om du vill utföra en PowerCLI-installation på en arbetsstation där du saknar administratörsrättigheter kan du använda parametern Scope
för att installera modulen i din användarprofils modulsökväg.
PS51> Install-Module VMware.PowerCLI -Scope CurrentUser
Installera VMware PowerCLI i PowerShell 6 på Linux
Nuförtiden kan du även installera PowerCLI på system som inte är Windows. Vi kan till exempel installera PowerCLI i PowerShell Core på Ubuntu. Återigen, beroende på om du har valt att ladda ner zip-filen, PowerShell-galleriets webblänk eller direkt via PowerShell-konsolen, är installationsprocessen lite annorlunda.
Extrahera ZIP-filen
Avhängigt av Linux-flaggan kommer du att extrahera .zip-filens innehåll till olika platser.
Öppna PowerShell på Linux genom att köra pwsh i din terminal. Leta upp de potentiella PSModulePath-platserna med hjälp av följande kommando:
PS61> ($env:PSModulePath).split(":")
När du har bestämt var du vill installera modulfilerna hämtar du dem till den platsen och förbereder dig för att packa upp dem. Du kommer antingen att packa upp dem till mappen /home/ för användaråtkomst eller till /opt/ för systemåtkomst.
För det här exemplet på en Linuxbaserad installation använder jag Ubuntu 18.04 och kommer att installera VMware PowerCLI 11 med hjälp av den .zip-fil som laddats ner härifrån och installera modulen så att alla användare på den här maskinen kan komma åt den.
> 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 sedan importera den här modulen, eftersom modulfilerna nu finns på en av dina $PSModulePath
platser, via en normal körning av:
Import-Module VMware.PowerCLI
Installera det äldre VMware PowerCLI-snapinet
Ibland kan det hända att du måste installera det äldre PowerCLI-snapinet. Kanske har du tagit över ansvaret för viss äldre kod och behöver felsöka problem. För att undvika att dina befintliga skript måste du installera det gamla snapinet på nytt.
För att installera det gamla snapinet behöver du ett my.vmware.com-konto för att logga in och hämta filen VMware-PowerCLI-5.1.0-3090428.exe. Efter hämtning installerar du snapinet via den körbara filen genom en normal Windows-programinstallation.
Du kan sedan köra Add-PSSnapin
för att ladda VMware cmdlets i din session, eller starta den medföljande VMware PowerCLI-konsolen på ett fristående sätt.
Nedan kan du se att jag använder Add-PSSnapin
-cmdletten för att lägga till PowerCLI-version 5.1 i min aktuella konsolsession.
PS51> Add-PSSnapin VMware*
Startar den installerade fristående VMware PowerCLI-genvägen som installeras med version 5.1.
Notera att ovanstående snapin inte är kompatibel med PowerShell 6/7.
Verifiering av installationen av PowerCLI
Att verifiera att installationen av PowerCLI har lyckats är samma sak, oavsett vilken version av PowerShell du har. Det första steget, bekräfta att modulerna finns i PowerShell-konsolen.
Get-Module -ListAvailable VMware*
Nästan försöker du använda PowerCLI för att ansluta till vCenter med cmdlet Connect-VIServer
. Detta kommer inte bara att verifiera att modulen installerades framgångsrikt, utan det kommer också att testa om du ansluter till din infrastruktur på rätt sätt.
På Windows
PS51> Connect-VIServer <FQDN of vCenter or ESXi Host>
På Linux
När du verifierar installationen på Linux måste du först ställa in anslutningskonfigurationen så att den tar hänsyn till ett ogiltigt (eller ett självsignerat certifikat som standard) om du stöter på anslutningsproblem. Nedan använder jag PowerCLI för att ansluta till vCenter.
PS> Set-PowerCLIConfiguration -InvalidCertificateAction:ignorePS> Connect-VIServer <FQDN of vCenter or ESXi Host>
Då du lyckades ansluta till din VMware-slutpunkt är PowerCLI igång!
Go Forth och PowerCLI!
Från och med den här punkten är du nu beredd att besvara den ordspråksmässiga frågan ”Hur installerar jag VMware PowerCLI?”. Du kan nu börja arbeta med att skriva ut dina konfigurationsimplementeringar, VM-rapporter och underhållsuppgifter. Håll dig uppdaterad på den här bloggen för nya och kommande artiklar om hur du kommer igång med PowerCLI!
Ytterligare läsning
- Hur du importerar en OVF-fil i VMware med PowerShell
.