Glem GUI: Retur af kommandolinjen

Hvis du fordyber dig i Microsofts historie længe nok, vil du støde på mere end en historie om personale, der prøver at tilføje flere kommandolinjefunktioner til dets operativsystemer. Planerne går op på virksomhedstræet til de sjældne højder i en Bill Gates-gennemgang, hvor ledere spørger: "Hvilken del af navnet Windows har du et problem med?"

Selskabslegender til side, Windows på både desktop og server har længe været provinsen med GUI'er, peg-og-klik-oplevelser, der driver alt fra filer på stationære pc'er til styring af hele virtuelle netværk i den offentlige sky. Det var alt sammen meget godt, når du havde at gøre med snesevis af pc'er og en håndfuld servere på et kontor. Det fungerede endda for klient-server enterprise applikationer eller en lille gård med webservere.

Nu har vi imidlertid skyen; i sine offentlige, private og hybride former. Automatiske systemadministrationsværktøjer orkestrerer vores applikationer og administrerer vores virtuelle maskiner i heterogene miljøer, der blander og matcher operativsystemer og styringsfilosofier. Infrastruktur er nu kode, og datacentret er et operativsystem. Hvad nu for GUI? Det er hjertet et værktøj til en maskine, en der har brug for en operatør - ikke den automatisering, der kræves til operationer i skala.

Fra cmd.exe til PowerShell

Microsofts oprindelige kommandolinje, cmd.exe, var ikke klar til denne nye verden og tilbyder bare enkle batch-kommandofunktioner og grundlæggende scripting. Det er her PowerShell kommer ind. Bygger på. Net og lektioner fra Unix shell-miljøer, det er hjertet et systemadministrationsprogrammeringssprog.

PowerShell-kode bruger C # -lignende konstruktioner med lange, selvbeskrivende kommandoer. Det er ikke den terse Unix-kommandolinie; det er et hvor verb og substantiv kombineres i en grammatik, der er overraskende let at samle op. Hvis en cmdlet ikke findes til det, du vil, skal du kombinere flere i et script eller endda skrive dit eget.

Nu 11 år gammel er PowerShell ikke bare blevet et Windows-værktøj, men et, der kan køre på de fleste andre systemer. Det er også open source med et blomstrende samfund. Men det har ikke efterladt sine Windows-rødder, og det er fortsat en nøglekomponent i Windows's økosystem til systemadministration. Bor ned bag System Center GUI'erne, så finder du de kommandoer, du sender, eksternt udføres PowerShell. Klik på en eksportknap, og de scripts, som System Center genererer, er klar til redigering og genbrug i din egen infrastruktur.

Denne mulighed er interessant, fordi du nu har de værktøjer, du har brug for til at oprette din egen runbook af scripts. Brug for at oprette og distribuere Hyper-V virtuelle maskiner fra et bibliotek? Skub en VM vha. System Center Virtual Machine Manager, eksporter derefter PowerShell-scriptet, rediger det og gem det til senere brug.

Det er let nok at generalisere PowerShell-cmdlets: Udskift blot eksplicitte navne på servere med variabler og tilføj kode til at analysere opkaldsstrenge for at udfylde disse variabler. Når de er generelle, er System Center PowerShell-scripts byggestenene til mere komplekse handlinger, såsom at bruge en forespørgsel mod Active Directory til at få en liste over kørende servere og derefter bruge den liste til at ændre netværksadresser til at flytte en applikation til et backup-netværk, mens en ny udgivelse er implementeret.

Det har taget lang tid at få brugt PowerShell meget. der er en stejl indlæringskurve, der kræver en vis programmeringsevne. Men når du først har nået dette spring, gør evnen til at administrere mange systemer fra et tastatur en stor forskel til at arbejde med moderne applikationsarkitekturer. Udvidelsesbiblioteker tilføjer cmdlets til Microsofts cloud-tjenester, herunder Azure og Office 365. PowerShell bruges også til at omfavne nye måder at tænke på administration på, f.eks. Just Enough Admin-tilgangen, der delegerer rettigheder kun når det er nødvendigt og kun til det, der kræves.

Bash til moderne applikationsudvikling

Nylig Windows 10 desktop-frigivelser har tilføjet support til Linux-kommandolinjeværktøjer, oprindeligt ved hjælp af Ubuntu i Window Subsystem for Linux, udsat gennem Bash-skallen. Flere distributioner og alternative skaller kommer, men Bashs brede vedtagelse gør det til en attraktiv rute at bringe Unix værktøjskæder til Windows. Ubuntu's brede katalog over software og dets lette apt-get-installation og opdateringsfunktioner betyder, at du hurtigt kan gå fra en blot prompt til et fuldt udstyret sæt værktøjer i løbet af få minutter. SSL-kapaciteter giver dig fjernadgang til Unix-servere, og Windows-software behandles ligesom Linux-binære filer: Angiv en sti, så du kan starte apps direkte fra kommandolinjen.

Bash er ved at blive et vigtigt stykke af Microsofts udviklereudvidelse, hvilket gør Windows tilgængeligt for de udviklere, der har brugt MacOS til dets Unix-værktøjer. Det går snart ud over skrivebordet med en Bash-baseret Azure-kommandolinje i preview i Azure-webportalen og i dets nye iOS- og Android-administrationsapps. Azure-kommandolinjen understøtter også snart PowerShell med en simpel dropdown-menu til at skifte personlighed på farten.

Azure kommandolinje på iPhoneIDG
Den Bash-baserede Azure-kommandolinie på iPhone.

Visual Studio Code får en terminal

Microsofts open-sourced udvikler-editor, Visual Studio Code, tilføjet for nylig en integreret terminal. Som standard bruger det dit systems foretrukne kommandolinje, men det er let at skifte mellem cmd.exe og PowerShell og endda at åbne en Bash-terminal, hvis du kører Windows Subsystem til Linux. Måden vi skriver og fejler kode ændrer sig, og en terminal kan hjælpe med at teste ikke kun Node.js-applikationer, men også udforske containere eller køre Git og andre moderne udviklingsværktøjer.

Visual Studio terminalIDG
Den integrerede terminal i Visual Studio Code.

At have adgang til en terminal inde i en IDE har andre fordele ud over test og fejlfinding. Det er en måde at oprette forbindelse til andre maskiner ved at give fjernadgang til GUI-mindre servere, der kører Linux eller Microsofts egne Windows Server Core. Det tillader endda fjernbetjening af Nanoserver installerer. Med meget af den moderne devops-værktøjskæde, der kommer fra Linux-verdenen, er direkte adgang til dine build-motorer, dine implementeringsværktøjer og dit kildekodelagringssted væsentligt. At bringe Windows Subsystem for Linux ind i Visual Studio Code forenkler hvad der kunne have været komplekst.

Du er ikke begrænset til en enkelt terminal, så du kan have en terminal, der kører PowerShell til systemadministration af dine lokale og cloud-servere og en terminal, der kører Bash til test af node-apps eller arbejde med GitHub. Det er en fleksibel tilgang, og der drager fordel af Windows's nyvundne kærlighed til kommandolinjen.

Vi lever i en verden med mange forskellige computermodeller, alle arbejder sammen, alle arbejder i skala. Kommandolinjeværktøjer som dem i de nyeste Windows-udgaver forenkler både administration og udvikling og giver adgang til en kraftfuld værktøjskæde på tværs af platforme til at arbejde med skyen og til at drage fordel af moderne devops-processer.

Kilde

Efterlad en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.