Aan de slag met PowerShell in Linux [Beginnersgids]

Nadat Microsoft verliefd werd op Linux (wat populair bekend geworden is als “Microsoft Loves Linux”), werd PowerShell, dat oorspronkelijk een alleen voor Windows bestaand onderdeel was, geopen-sourced en kreeg het een cross-platformfunctie op 18 augustus 2016, beschikbaar op Linux en Mac OS.

PowerShell is een taakautomatisering- en configuratiemanagementsysteem ontwikkeld door Microsoft. Het bestaat uit een commando-taalinterpreter (shell) en een scripttaal gebouwd op het .NET Framework.

Het biedt volledige toegang tot COM (Component Object Model) en WMI (Windows Management Instrumentation), waardoor systeembeheerders beheers-taken kunnen uitvoeren op zowel lokale als externe Windows-systemen, evenals WS-Management en CIM (Common Information Model), waardoor het beheer van externe Linux-systemen en netwerkapparatuur mogelijk wordt.

Onder dit kader worden beheertaken in feite uitgevoerd door specifieke .NET klassen die cmdlets (uitgesproken als command-lets) worden genoemd.

Gelijkaardig aan shellscripts in Linux, kunnen gebruikers scripts of uitvoerbare bestanden maken door groepen van cmdlets in bestanden op te slaan volgens bepaalde regels. Deze scripts kunnen worden gebruikt als zelfstandige command-line hulpmiddelen of tools.

Installatie van PowerShell in Linux-systemen

Om PowerShell te installeren in Linux, gebruiken we de officiële Microsoft-repository die ons in staat stelt te installeren via de populairste Linux-pakketbeheertools zoals apt-get of apt en yum of dnf.

PowerShell Installeren op Ubuntu

Importeer eerst de openbare repository GPG sleutels, registreer vervolgens de Microsoft Ubuntu repository in de APT pakketbronnenlijst om Powershell te installeren:

$ sudo apt-get update
$ sudo apt-get install -y wget apt-transport-https software-properties-common
$ wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb"
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

PowerShell Installeren op Debian 11

PowerShell voor Debian-distributie-releases is gepubliceerd naar pakketrepositories voor gemakkelijke installatie en updates.

$ sudo apt update
$ sudo apt install -y curl gnupg apt-transport-https
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list'
$ sudo apt update
$ sudo apt install -y powershell

Installeer PowerShell op Debian 10

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt-get update
$ sudo apt-get install -y powershell

Installeer PowerShell op RHEL-systemen

PowerShell voor RHEL-gebaseerde distributies zoals CentOS Stream, Rocky, en AlmaLinux worden gepubliceerd naar de officiële Microsoft-opslagplaatsen voor eenvoudige installatie en updates.

---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- 
$ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ----------
$ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

---------- On RHEL/CentOS 7 ----------
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
$ sudo dnf install --assumeyes powershell

Hoe Powershell in Linux te gebruiken

In deze sectie krijgen we een korte introductie tot Powershell; waar we zullen zien hoe je powershell start, enkele basiscommando’s uitvoert en bekijkt hoe je met bestanden, mappen en processen werkt. Vervolgens duiken we in hoe je alle beschikbare commando’s kunt opvragen, en commando-help en aliassen kunt weergeven.

Om Powershell te starten, typ:

$ pwsh

PowerShell 7.3.3
PS /root> 

Je kunt de Powershell-versie controleren met het onderstaande commando:

PS /root> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.3
PSEdition                      Core
GitCommitId                    7.3.3
OS                             Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Uitvoeren van enkele basis Powershell-commando’s op Linux.

get-date          [# Display current date]
get-uptime        [# Display server uptime]
get-location      [# Display present working directory]
Running PowerShell Commands

Werken met bestanden en mappen in Powershell

1. Maak een nieuw leeg bestand aan met behulp van de twee methoden hieronder:

new-item  tecmint.tex
OR
“”>tecmint.tex

Voeg vervolgens inhoud aan het toevoegen en bekijk de inhoud van het bestand.

set-content tecmint.tex -value "TecMint Linux How Tos Guides"
get-content tecmint.tex
Create New File in Powershell

2. Verwijder een bestand in powershell.

remove-item tecmint.tex
get-content tecmint.tex
Delete File in Powershell

3. Maak een nieuwe map aan.

mkdir  tecmint-files
cd  tecmint-files
“”>domains.list
ls
Create a Directory in Powershell

4. Om een uitgebreid overzicht uit te voeren, dat details van een bestand/map weergeeft inclusief het type (bestandstype) en de laatste wijzigingsdatum.

dir
Directory Long Listing in Powershell

5. Bekijk alle actieve processen op uw systeem:

get-process
View Running Processes in Powershell

6. Om details van een enkele/groep actieve processen met een bepaalde naam te bekijken, geeft u de procesnaam als argument op aan de vorige opdracht als volgt:

get-process apache2
View Specific Process in Powershell

Betekenis van de eenheden in de uitvoer hierboven:

  • NPM(K) – de hoeveelheid niet-paged geheugen die het proces gebruikt, in kilobytes.
  • PM(K) – de hoeveelheid pageable geheugen die het proces gebruikt, in kilobytes.
  • WS(K) – de grootte van het werkgeheugen van het proces, in kilobytes. Het werkgeheugen bestaat uit de pagina’s van het geheugen die onlangs door het proces zijn aangesproken.
  • CPU(s) – de hoeveelheid processorgeheugen die het proces heeft gebruikt op alle processors, in seconden.
  • ID – proces-ID (PID).
  • ProcessName – de naam van het proces.

7. Om meer te weten te komen, haal een lijst op met alle Powershell-opdrachten voor verschillende taken:

get-command
List Powershell Commands

8. Om te leren hoe een opdracht te gebruiken, bekijk zijn helppagina (vergelijkbaar met de man-pagina in Unix/Linux); in dit voorbeeld kunt u hulp krijgen voor de Describe opdracht:

get-help Describe
Powershell Help Manual

9. Bekijk alle beschikbare commando-aliassen door het volgende in te typen:

get-alias
List Powershell Command Aliases

10. En tot slot, toon de commandogeschiedenis (lijst met eerder uitgevoerde commando’s) als volgt:

history
List Powershell Commands History

Dat is alles! voor nu, in dit artikel hebben we laten zien hoe je Microsoft’s Powershell kunt installeren in Linux. Voor mij heeft Powershell nog een lange weg te gaan in vergelijking met de traditionele Unix/Linux-shells, die veel betere, spannendere en productievere functies bieden om een machine vanaf de commandoregel te bedienen en vooral voor programmeer- (scripting-)doeleinden.

Bezoek de Powershell Github-opslagplaats: https://github.com/PowerShell/PowerShell

Je kunt het echter proberen en je mening met ons delen in de reacties.

Source:
https://www.tecmint.com/install-powershell-in-linux/