Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Als u een krachtige Windows-gebruiker bent, weet en begrijpt u waarschijnlijk hoe het uitvoeren van verschillende bewerkingen op uw pc meer dan slechts één benadering kan hebben en dat gespecialiseerde GUI-apps vaak meer beperkend zijn (en minder bevredigend, laten we eerlijk zijn) dan het invoeren van opdrachten in handmatig een opdrachtregel. Er is gewoon dat gevoel van voldoening als je die muur van tekst voor je ziet ontvouwen, en als het resultaat geen fout is, maakt het het des te meer de moeite waard.

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Op Windows-pc's zijn er slechts twee manieren om dit te bereiken: via CMD of PowerShell. Hoewel CMD een beetje populairder is dan PowerShell, is het ook minder krachtig, aangezien je met zijn tegenhanger veel meer bewerkingen kunt uitvoeren, waaronder bewerkingen die je door de CMD kunt uitvoeren. Je zou kunnen zeggen dat PowerShell de kracht van de oude CMD combineert met scripting en cmdlet-mogelijkheden, waardoor je een overvloed aan mogelijkheden hebt met betrekking tot bewerkingen die je ermee kunt uitvoeren.

Het enorme aantal mogelijke bewerkingen dat u kunt uitvoeren met PowerShell kan echter behoorlijk intimiderend zijn, zelfs voor ervaren gebruikers, om nog maar te zwijgen van gebruikers die nog nooit van CMD (laat staan ​​PowerShell) hebben gehoord. Maar maak je geen zorgen, we zullen proberen je een paar eenvoudige trucs te leren die je kunt uitvoeren met PowerShell en die je op de lange termijn misschien zelfs kunt onthouden. Hoewel deze "spoedcursus" van ons niet zal dienen als een uitgebreide handleiding voor PowerShell, zal het u hopelijk helpen uw weg te vinden in PowerShell door u een paar tips te geven en een aantal opdrachten uit te leggen. Als je klaar bent, laten we beginnen.

Wat is PowerShell?

Zoals we hierboven kort hebben vermeld, is PowerShell een krachtig hulpmiddel dat u voor een groot aantal bewerkingen kunt gebruiken. Meer dan dat, PowerShell is een oplossing voor taakautomatisering die verschillende krachtige tools onder de motorkap omvat, inclusief maar niet beperkt tot een opdrachtregelshell (zoals CMD), een scripttaal en een raamwerk voor configuratiebeheer.

In tegenstelling tot andere shells die alleen tekst kunnen accepteren en retourneren, kan PowerShell ook .NET-objecten accepteren en retourneren dankzij de uitstekende hoeveelheid functies die het omvat. Enkele van de belangrijkste shell-gerelateerde functies van PowerShell zijn als volgt:

  • Opdrachtvoorspelling en voltooiing van tabbladen
  • Ondersteuning voor parameter- en opdrachtalias
  • Uitgebreide opdrachtregelgeschiedenis
  • De mogelijkheid om opdrachten door de pijplijn te koppelen
  • Een helpsysteem in de console dat lijkt op man-pagina's in op Unix gebaseerde systemen

Dat is echter slechts het topje van de ijsberg, aangezien, zoals we eerder hebben vermeld, PowerShell meer is dan alleen een omhulsel; u kunt het gebruiken als een krachtige scripttaal voor het automatiseren van systeembeheeractiviteiten, maar ook als u oplossingen in verschillende omgevingen wilt bouwen, analyseren, testen en implementeren.

Aangezien PowerShell is gebaseerd op de .NET CLR (.NET Common Language Runtime), is het gemakkelijk in te zien waarom alle invoer en uitvoer waarmee PowerShell werkt .NET-objecten zijn. Bovendien is het absoluut niet nodig om tekstuitvoer te ontleden, zodat PowerShell er informatie uit kan halen. Onder de scriptfuncties van PowerShell vindt u mogelijk het volgende:

  • Een uitgebreid opmaaksysteem dat zorgt voor een schone, gemakkelijke uitvoer
  • Creëer dynamische typen via een uitgebreid typesysteem
  • U kunt de mogelijkheden van PowerShell uitbreiden via klassen, functies, modules en scripts
  • Native ondersteuning voor verschillende dataformaten, waaronder XML, JSON en CSV

Als u meer geïnteresseerd bent in het beheren en configureren van uw bedrijfsinfrastructuur via code, zult u blij zijn te horen dat PowerShell u deze mogelijkheid ook biedt via het Desired State Configuration (DSC)-beheerframework. Onder de bewerkingen die u gemakkelijk kunt uitvoeren door gebruik te maken van PowerShell's DSC, herinneren we u aan:

  • Implementeer verschillende configuratieschema's met behulp van push- of pull-modellen
  • Ontwerp aangepaste scripts en declaratieve configuraties die u kunt gebruiken voor herhaalbare implementaties in uw omgeving
  • Verschillende configuratieschema's afdwingen
  • Rapporteren over configuratieafwijking

PowerShell heeft een eigen opdrachtregel die wordt geleverd met een eigen programmeertaal die enigszins lijkt op Perl. Merk op dat PowerShell in het begin werd ontwikkeld om gebruikers te helpen objecten op hun computers te beheren, maar, zoals je kunt zien, heeft het een lange weg afgelegd en wordt het nu gebruikt voor uitgebreidere, complexere taken.

U kunt bijvoorbeeld gebruikmaken van de uitgebreide werkomgeving van PowerShell, niet alleen om verschillende systeembeheerbewerkingen uit te voeren, maar ook om deze te automatiseren, zodat u zich niet af en toe bezig hoeft te houden met vervelende, repetitieve taken. Het is ook heel belangrijk om te vermelden dat je toegang hebt tot een overvloed aan bronnen via slechts één programma (dwz PowerShell), inclusief, maar niet beperkt tot:

  • Windows Management Instrumentatie
  • .NET Framework-API
  • Opdrachtprompt
  • Windows Component Object Model
  • PowerShell-opdrachten

Tegenwoordig is een van de meest populaire doelen van PowerShell om eindgebruikers te helpen bij het automatiseren van systeembeheertaken, zodat ze voorkomen dat ze zich bezighouden met een reeks saaie, repetitieve bewerkingen. Het is bewezen dat het elimineren van de menselijke factor uit repetitieve handelingen de efficiëntie verhoogt en menselijke fouten vermindert om verschillende redenen, dus het is echt een win-winsituatie voor iedereen.

U kunt PowerShell gebruiken om eenvoudige of complexere opdrachten uit te voeren, maar dit programma kan u ook helpen bij het maken van scripts op basis van die opdrachten, die automatisch door PowerShell worden uitgevoerd. Verder is er een uitstekende hoeveelheid commando's die u kunt aanpassen en later kunt uitgeven, genaamd cmdlets.

Het is vermeldenswaard dat PowerShell platformonafhankelijk en open-source is, wat betekent dat je het ook native op andere systemen zoals Mac of Linux kunt gebruiken, zonder toevlucht te nemen tot trucs en compatibiliteitsverhogende tools zoals Wine of Boot Camp.

Lijst met basis PowerShell-opdrachten

We begrijpen dat PowerShell misschien een beetje intimiderend aanvoelt, vooral nu je hebt ontdekt dat het meer is dan gewoon een andere opdrachtprompt op je computer, en het omvat eigenlijk CMD-functies, maar ook een specifieke programmeertaal en verschillende scripts die je kunt gebruiken om te automatiseren systeembeheer operaties.

Als u echter vastbesloten bent om PowerShell en alles wat het te bieden heeft onder de knie te krijgen, raden we u ten zeerste aan te beginnen met de meest elementaire functies. Op die manier hoef je niet terug te draaien op maanden van vooruitgang als je ontdekt dat je per ongeluk de verkeerde functie hebt gebruikt en al het werk dat je in de tussentijd hebt verricht, meer op een verre herinnering begint te lijken.

Dat is precies waarom we een lijst met basisopdrachten hebben opgesteld die u veilig kunt gebruiken binnen uw PowerShell-sessies om de functies van dit krachtige programma te testen en te zien welke precies wat doet. De onderstaande lijst bevat de opdrachtnamen, hun aliassen en een korte beschrijving van wat elke opdracht doet.

Merk op dat u beide opdrachtnamen of hun aliassen kunt gebruiken, en het resultaat zal precies hetzelfde zijn. De reden waarom je liever aliassen gebruikt, is dat ze veel sneller kunnen worden getypt en als je ze correct kunt onthouden en ze kunt koppelen aan de bijbehorende opdrachtnaam, is het logischer als je de klus snel wilt klaren.

Opdrachtnaam Alias Beschrijving
Content toevoegen ac Hiermee kunt u inhoud (bijv. woorden of gegevens) aan een bestand toevoegen
Add-PSSnapIn asnp Helpt u meerdere Windows PowerShell-modules aan de
huidige sessie toe te voegen
Duidelijke inhoud clc Wist de inhoud van een item zonder het daadwerkelijke item te verwijderen
Geschiedenis wissen clhy Wist alle items uit de opdrachtgeschiedenis
Clear-host Doorzichtig Wist de weergave van het hostprogramma
Clear-host cls Doet hetzelfde als duidelijk
Item wissen klik Verwijdert de inhoud van een item zonder het daadwerkelijke item te verwijderen
Clear-ItemProperty clp Wist de waarde van een eigenschap zonder de eigenschap zelf te verwijderen
Wissen-variabele clv Verwijdert de waarde van een variabele
Vergelijk-Object vergelijken Hiermee kunt u twee sets objecten vergelijken
Vergelijk-Object verschil Doet hetzelfde als vergelijken
Connect-PSSession cnsn Hiermee kun je opnieuw verbinding maken met sessies waarvan je de verbinding hebt verbroken
Converteren-pad cvpa Hiermee kunt u een Windows PowerShell-pad converteren naar een Windows
PowerShell-providerpad
Artikel kopiëren kopiëren Helpt u een item van een specifieke locatie naar een andere te kopiëren
Artikel kopiëren cp Doet hetzelfde als kopiëren
Artikel kopiëren cpi Doet hetzelfde als kopiëren en cp
Copy-ItemProperty cpp Hiermee kunt u een waarde en een eigenschap kopiëren van een bepaalde locatie naar een
andere
Uitschakelen-PSBreakpoint dbp Helpt u onderbrekingspunten in de huidige console uit te schakelen
Disconnect-PSSession dnsn Verbreekt de verbinding met de huidige sessie
Inschakelen-PSBreakpoint ebp Hiermee kunt u onderbrekingspunten inschakelen in de huidige console
Enter-PSSession etsn Helpt u een interactieve sessie te starten met een extern apparaat
Exit-PSSession exsn Beëindigt een interactieve sessie met een extern apparaat
Export-alias epal Hiermee kunt u informatie over aliassen die momenteel zijn gedefinieerd exporteren
naar een uitvoerbestand
Export-Csv epcsv Hiermee kunt u objecten converteren naar meerdere door komma's gescheiden (CSV)
tekenreeksen en de tekenreeksen exporteren naar een CSV-document
Export-PSSession epsn Importeert opdrachten uit een andere sessie en exporteert ze naar een
Windows PowerShell-module
Voor elk-object % Voert een specifieke bewerking uit op elk van de items
in een verzameling invoerobjecten
Voor elk-object foreach Doet hetzelfde als %
Formaat-aangepast fc Helpt u een aangepaste weergave te gebruiken om de uitvoer op te maken
Formaatlijst fl Hiermee kunt u de uitvoer opmaken als een eigenschappenlijst waarbij elke eigenschap
op een nieuwe regel wordt geplaatst
Formaattabel ft Hiermee kunt u de uitvoer opmaken als een tabel
Formaatbreed fw Helpt u objecten op te maken als brede tabellen waarin slechts één eigenschap van
elk object wordt weergegeven
Get-alias gal Haalt je aliassen op voor je huidige sessie
Get-ChildItem dir Haalt een lijst op met alle bestanden en mappen in een bestandssysteemstation
Get-ChildItem gci Doet hetzelfde als dir
Get-ChildItem ls Doet hetzelfde als dir en gci
Get-Command gcm Haalt een lijst op met alle commando's die je kunt gebruiken
Inhoud krijgen kat Geeft de inhoud van een bestand weer
Inhoud krijgen gc Doet hetzelfde als kat
Geschiedenis ophalen ghy Haalt een lijst op met alle opdrachten die u tijdens uw huidige sessie hebt ingevoerd
Geschiedenis ophalen H Doet hetzelfde als ghy
Geschiedenis ophalen geschiedenis Doet hetzelfde als ghy en h
Get-Item gi Hiermee kunt u bestanden en mappen ophalen
Get-ItemProperty gp Haalt de eigenschappen op van het item dat u hebt opgegeven
Krijg werk gjb Haalt een lijst op met alle Windows PowerShell-achtergrondtaken die
momenteel in uw sessie worden uitgevoerd
Get-Locatie gl Haalt informatie op over uw huidige locatiestapel of werklocatie
Get-Locatie pwd Doet hetzelfde als gl
Get-Lid gm Haalt alle eigenschappen en methoden van gespecificeerde objecten op
Get-Module ggo Haalt een lijst op met geïmporteerde modules of modules die kunnen worden geïmporteerd in de
huidige sessie
Get-proces GPS Haalt een lijst op met alle processen die lokaal of op een externe
computer worden uitgevoerd
Get-proces ps Doet hetzelfde als gps
Get-PSBreakpoint GBP Haalt alle onderbrekingspunten op die in uw huidige sessie zijn ingesteld
Get-PSCallStack gcs Geeft uw huidige oproepstapel weer
Get-PSDrive gdr Haalt de schijven op in uw huidige sessie
Get-PSSession gsn Haalt een lijst op met lokale en externe Windows PowerShell-sessies
Get-PSSnapIn gsnp Haalt een lijst op met alle Windows PowerShell-modules op de computer
Get-Service gsv Geeft een overzicht van alle services op een lokale of externe computer
Krijg-uniek gu Haalt unieke items op uit een gesorteerde lijst
Get-variabele gv Toont een lijst van alle variabelen in de huidige console
Get-WmiObject gwmi Haalt Windows Management Instrumentation (WMI) klasseninstanties
of informatie over beschikbare klassen op
Groepsobject groep Hiermee kunt u objecten groeperen die dezelfde waarde bevatten voor de eigenschappen
die u opgeeft
helpen Mens Geeft meer details weer over Windows PowerShell-opdrachten en
-concepten
Import-alias ipal Hiermee kunt u een lijst met aliassen uit een bestand importeren
Import-Csv ipcsv Maak tabelachtige aangepaste objecten met behulp van alle items in
een CSV-bestand
Import-Module ipmo Modules importeren in uw huidige sessie
Import-PSSes sion ipsn Importeert opdrachten uit een andere sessie in uw huidige sessie
Invoke-opdracht icm Hiermee kunt u opdrachten uitvoeren op lokale en externe computers
Invoke-expressie iex Hiermee kunt u opdrachten of uitdrukkingen uitvoeren op de lokale computer
Invoke-geschiedenis ihy Voert opdrachten uit uw sessiegeschiedenis uit
Invoke-geschiedenis R Doet hetzelfde als ihy
Invoke-item ii Voert de standaardactie uit op een opgegeven item
Invoke-RestMethode irm Verzendt ofwel een HTTP- of een HTTPS-verzoek naar een RESTful-webservice
Invoke-WebRequest krullen Haalt inhoud op van een webpagina op internet
Invoke-WebRequest ik WR Doet hetzelfde als curl
Invoke-WMI-methode iwmi Hiermee kunt u
methoden van Windows Management Instrumentation (WMI) aanroepen
Maatregel-Object meeteenheid Bepaalt numerieke eigenschappen van objecten, evenals woorden,
regels en tekens in tekenreeksobjecten
mkdir md Creëert een nieuw item (directory)
Item verplaatsen mi Hiermee kunt u een item van een specifieke locatie naar een andere verplaatsen
Item verplaatsen Actie Doet hetzelfde als mi
Item verplaatsen mv Doet hetzelfde als mi en move
Move-ItemProperty mp Hiermee kunt u een woning van een specifieke locatie naar een andere verplaatsen
Nieuw-alias nee Hiermee kunt u een nieuwe alias maken
Nieuw item nee Hiermee kunt u een nieuw item maken
Nieuwe module nmo Genereert een nieuwe dynamische module die alleen in het geheugen bestaat
Nieuw-PSDrive monteren Hiermee kunt u tijdelijke en permanente toegewezen netwerkstations maken
Nieuw-PSDrive ndr Doet hetzelfde als mount
Nieuw-PSSession nsn Brengt een permanente verbinding tot stand met een lokale of externe computer
Nieuw-PSSessionConfigurationFile npssc Creëert een sessieconfiguratiebestand
Nieuw-variabele nv Hiermee kunt u een nieuwe variabele maken
Out-GridView ogv Hiermee kunt u uitvoer naar een interactieve tafel in een apart venster sturen
Out-host Oh Stuurt de uitvoer naar de opdrachtregel (CMD)
Uit-printer lp Hiermee kunt u de uitvoer naar een printer sturen
Pop-locatie popd Modifies your current location to the location that was pushed to the
stack most recently. You can use the Push-Locationcmdlet (pushd) to
pop the location either its default stack or from a stack that you create.
powershell_ise.exe ise Displays an explanation on how you can use the PowerShell_ISE.exe
command-line tool
Push-Location pushd Appends the current location to the top of a location stack
Receive-Job rcjb Fetches the results of current session Windows PowerShell background
jobs
Receive-PSSession rcsn Retrieves results of commands from disconnected sessions
Remove-Item del Removes files and folders
Remove-Item erase Does the same thing as del
Remove-Item rd Does the same thing as del and erase
Remove-Item ri Does the same thing as del, erase and rd
Remove-Item rm Does the same thing as del, erase, rd, and ri
Remove-Item rmdir Deletes folders
Remove-ItemProperty rp Allows you to delete a property and its value from a given item
Remove-Job rjb Lets you delete a Windows PowerShell background job
Remove-Module rmo Helps you remove modules from your current session
Remove-PSBreakpoint rbp Lets you remove breakpoints from the current console
Remove-PSDrive rdr Removes temporary Windows PowerShell drives, as well as disconnects
mapped network drives
Remove-PSSession rsn Lets you close one or more Windows PowerShell sessions (PSSessions)
Remove-PSSnapin rsnp Enables you to remove Windows PowerShell snap-ins from your current
session
Remove-Variable rv Clears a variable and its value
Remove-WMIObject rwmi Lets you delete an instance of an existing Windows Management
Instrumentation (WMI) class
Rename-Item ren Helps you rename an item in a Windows PowerShell provider namespace
Rename-Item rni Does the same thing as ren
Rename-ItemProperty rnp Enables you to rename an item’s property
Resolve-Path rvpa Resolves wildcard characters in a path, as well as displays the contents
of the path
Resume-Job rujb Helps you restart a job that was suspended
Select-Object select Lets you select objects as well as their properties
Set-Alias sal Lets you create or change a cmdlet’s or command element’s alias
(alternate name) in the current Windows PowerShell session
Set-Content sc Allows you to replace a file’s contents with contents that you specify.
Set-Item si Changes an item’s value to a value that’s specified in the command
Set-Location cd Lets you set your current working location to a specified location (changes
the active location)
Set-Location chdir Does the same thing as cd
Set-PSBreakpoint sbp Lets you set a breakpoint on a command, variable, or line
Set-Variable set Enables you to set a variable’s value or generates a variable if one with
the requested name does not exist
Show-Command shcm Displays a list of Windows PowerShell commands in a graphical
command window
Start-Job sajb Starts a background job in Windows PowerShell
Start-Process saps Launches one or more local processes
Start-Service sasv Lets you start one or more stopped services
Stop-Process kill Helps you stop one or more running processes
Where-Object ? Enables you to select certain objects from a collection based on their
property values
Write-Output echo Allows you to send an object to the next command in the pipeline. If it
reaches the last command in the pipeline, the command will display
the objects in the console

Don’t let the sheer amount of basic PowerShell commands intimidate you. Although we called them basic, there’s absolutely no need for you to start memorizing them. In fact, that’s the exact reason why we created the table above so that you can go on about your work without worrying about having to remember each and every command we mentioned above.

You can use it as a quick refresher or even use your browser’s search feature to locate a specific command, its alias, and what it does if you’re confused. Although we already included this piece of information in the table above, if you’re ever confused while working in PowerShell, using the help command will display a few helpful details on how you can use this program and its commands more efficiently.

U kunt de help- opdracht ook koppelen  aan een andere opdracht of alias als u meer informatie wilt over die specifieke opdracht. Dit is bijvoorbeeld wat PowerShell weergeeft wanneer u help Add-Computer typt  :

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

U kunt echter  hulp gebruiken bij alle andere opdrachten of hun aliassen in onze tabel hierboven. Zorg ervoor dat u begrijpt dat dezelfde opdracht meerdere aliassen kan hebben, wat betekent dat u hetzelfde resultaat kunt bereiken door verschillende aliassen te gebruiken. Hoewel dit misschien verwarrend klinkt, geeft het je in feite voldoende flexibiliteit voor het geval je een commando-alias niet meer weet, maar je herinnert je een andere die je kan helpen hetzelfde doel te bereiken.

PowerShell gebruiken

Natuurlijk is het eerste dat u wilt doen, PowerShell zoeken en starten. Een zekere manier om PowerShell bijna overal op uw pc te starten, is door de Shift-knop op uw toetsenbord ingedrukt te houden, met de rechtermuisknop op een lege plek op uw scherm te klikken (geen menu, pictogram, knop of soortgelijk object), en selecteer Open PowerShell-venster hier vanuit het contextmenu.

Naast het geven van snelle toegang tot de PowerShell-console waar dan ook op uw pc, wordt hierdoor automatisch de standaard werkmap voor PowerShell omgeschakeld naar degene waar u zich momenteel bevindt. Als u een pc met Windows 10 gebruikt, kunt u PowerShell ook starten door op de Win- toets op uw toetsenbord te drukken, PowerShell in het menu Start te typen en PowerShell te selecteren wanneer dit zichtbaar wordt in de lijst met resultaten.

In oudere versies van Windows moet u het uitvoerbare bestand van PowerShell handmatig zoeken, dat u kunt vinden in de mappen Accessoires of Systeem in uw Start-menu. Bovendien, als u ziet hoe oudere systemen (zoals Windows 7) u standaard niet van PowerShell voorzien, moet u het ook op uw computer installeren, samen met al zijn afhankelijkheden.

Merk op hoe het starten van PowerShell vanuit het  menu Start uw actieve werkmap instelt op C:\Users\[your username here]. Ter vergelijking: met behulp van de Shift + Right-click-methode die we hierboven hebben gepresenteerd, wordt de actieve map van PowerShell ingesteld op degene waar u zich momenteel bevindt wanneer u de console spawnt. Als u bijvoorbeeld Shift + rechtsklikt en PowerShell vanaf uw bureaublad opent, zult u merken dat de actieve map C:\Users\[your username here]\Desktop. Om voor de hand liggende redenen zal het [your username here]onderdeel anders zijn, afhankelijk van uw gebruikersnaam.

Hoewel je PowerShell prima voor thuisgebruik kunt houden, is het beter als je gebruik kunt maken van alles wat het te bieden heeft. Overigens maken deze functies PowerShell geweldig voor zakelijk gebruik, waar je in korte tijd een groot aantal bewerkingen moet uitvoeren, en hoogstwaarschijnlijk op een groot aantal apparaten.

Dus in plaats van elke opdracht handmatig op elke afzonderlijke machine uit te voeren, kunt u eenvoudig een automatiseringsscript maken in PowerShell en de informatie die u nodig hebt automatisch ontvangen, zonder dat u fysiek met de apparaten hoeft te communiceren voor het geval of zelfs maar in de buurt ervan te zijn. Net als CMD kan PowerShell worden gebruikt via opdrachtregels. In tegenstelling tot zijn meer rudimentaire tegenhanger (dwz de CMD), kunt u met PowerShell echter ook scripts en cmdlets oproepen, wat het krachtiger, maar ook ingewikkelder in gebruik maakt.

Hoe cmdlets te gebruiken

We hebben de term  cmdlets al een paar keer gebruikt in onze gids, dus je vraagt ​​je waarschijnlijk af wat ze betekenen. Welnu, om bij het begin te beginnen, is het de moeite waard u eraan te herinneren dat CMD met opdrachten werkt. Een cmdlet, die wordt uitgesproken als command-let, is ook een opdracht, maar in tegenstelling tot traditionele CMD-opdrachten zijn cmdlets specifiek voor PowerShell en kunt u afzonderlijke specifieke bewerkingen uitvoeren, zoals het kopiëren van bestanden, het verplaatsen van items van de ene plaats naar de andere, het wijzigen van de actieve directory, of bekijk de inhoud van een item.

Simpel gezegd, cmdlets zijn opdrachten met één functie die u rechtstreeks in de opdrachtregel van PowerShell kunt typen. Als u eerdere ervaring met de CMD hebt, zult u PowerShell enigszins intuïtief vinden om mee te werken. Een interessant ding over PowerShell is dat het veel opdrachten deelt met CMD. Daarom zal het gebruik van CD met PowerShell nog steeds uw actieve map wijzigen, zal DIR nog steeds de inhoud van de huidige map weergeven en kunt u met CP nog steeds een item van de ene plaats naar de andere kopiëren.

Het is de moeite waard om te vermelden dat PowerShell niet hoofdlettergevoelig is, in tegenstelling tot veel andere shells, die fouten retourneren als u de juiste hoofdlettergebruik niet gebruikt bij het typen van uw opdrachten erin. Dus, copy-item  werkt net zo goed als Copy-Item , en als je geen van beide onthoudt, kun je ook  Copy , CP en  CPI gebruiken (maar ook copy , COPY , cp of cpi ).

De meeste PowerShell-cmdlets zijn geschreven in C# en zijn speciaal gebouwd om bewerkingen uit te voeren die een .NET-object als resultaat retourneren. Op dit moment zou je meer dan een paar honderd cmdlets kunnen vinden die je kunt gebruiken in PowerShell, wat, laten we eerlijk zijn, je meer geeft dan alleen een beetje bewegingsvrijheid voor wat betreft het uitvoeren van bewerkingen.

Hoewel het moeilijk zal zijn om alle cmdlets te onthouden waarmee u mogelijk moet werken (onthoud dat u de bovenstaande tabel kunt gebruiken), zijn er een paar die u vaker zult gebruiken, waardoor ze ongelooflijk gemakkelijk te onthouden zijn. Om nog maar te zwijgen van het feit dat sommige ervan intuïtief genoeg zijn dat hun naam eigenlijk hun doel verraadt ( kopiëren  wordt bijvoorbeeld  gebruikt om items te kopiëren,  verplaatsen  kan worden gebruikt om bestanden te verplaatsen,  vergelijken helpt u sets objecten te vergelijken, enz.).

Als u echter niet echt in de stemming bent om een ​​bladwijzer voor dit artikel te maken om het later te gebruiken, kunt u ook de Get-Command- cmdlet in PowerShell of  gcm typen  als u het kort wilt houden. Als u dit doet, wordt een volledige lijst met opdrachten weergegeven die voor u beschikbaar zijn, en u kunt die lijst gebruiken om vooruit te plannen wat u ook probeert te doen.

Aangepaste cmdlets ontgrendelen

Het nadeel is dat Microsoft je niet alleen volledige toegang geeft tot de hele reeks cmdlets die je standaard in PowerShell kunt gebruiken, dus je zult door een heleboel extra hoepels moeten springen om deze functie te ontgrendelen en te gebruiken op je vrije tijd. Het goede nieuws is dat het ontgrendelingsproces niet lang duurt, en dan is er het feit dat het ook kan worden gedaan via de PowerShell, wat een geweldige oefening voor je zal zijn. Laten we zonder verder oponthoud eens kijken hoe u aangepaste cmdlets-privileges in PowerShell kunt ontgrendelen.

  1. Log in op een beheerdersaccount (het werkt niet zonder beheerdersrechten)
  2. Start PowerShell met beheerdersrechten (uitvoeren als beheerder)
  3. Typ de volgende opdracht in PowerShell en druk op Enter:
    • Set-ExecutionPolicy
  4. Als het goed is gedaan, zal PowerShell u vragen om een ​​dialoogvenster waarin u wordt gevraagd om de nieuwe ExecutionPolicy-waarde
  5. Typ RemoteSignedde PowerShell-opdrachtprompt en druk op Enter
  6. PowerShell geeft u een seintje over de risico's van het wijzigen van de waarde van het ExecutionPolicy
  7. Typ  Y en druk op de Enter-toetsCheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt
  8. Als u aangepaste cmdlets moet uitschakelen, volgt u de stappen 1-4 en wanneer PowerShell u vraagt ​​om de waarde te typen, typt u Restricteden bevestigt u uw keuze zoals u deed bij stap 7

Als u het hele proces wilt stroomlijnen en geen tijd wilt verspillen aan het typen van alles in de PowerShell-opdrachtprompt, zult u blij zijn te horen dat er een nog eenvoudigere manier is om hetzelfde resultaat te bereiken. Start PowerShell met beheerdersrechten zoals u deed bij stap één, en in plaats van elke opdracht te typen en te wachten op de prompt, gaat u alles tot aan de bevestiging doorpijpen door dit te typen:

  • Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Natuurlijk moet je je keuze nog steeds bevestigen door Y te typen  en op Enter op je toetsenbord te drukken, maar je hebt zojuist een stap overgeslagen en een reeks bewerkingen tegelijkertijd uitgevoerd. Dit is precies waarom geavanceerde PowerShell-gebruikers automatiseringsscripts maken om verschillende beheerbewerkingen automatisch uit te voeren: om tijd en gedoe te besparen. Als u wilt, kunt u dezelfde opdracht hierboven gebruiken om aangepaste cmdlets op uw systeem uit te schakelen, maar u moet deze vervangen RemoteSigneddoor Restricteden uw keuze aan het einde ook bevestigen.

U kunt ook gebruik maken AllSigneden Unrestrictedom jezelf nog meer privileges toe te kennen als het gaat om het uitvoeren van mogelijk onveilige scripts op uw Windows PowerShell. Met de AllSigned-  optie kunt u alle scripts uitvoeren die zijn gemaakt door vertrouwde uitgevers, terwijl de  Unrestricted- optie PowerShell in staat stelt elk script uit te voeren, ongeacht de herkomst en betrouwbaarheid ervan. Natuurlijk is de  optie Onbeperkt ook de gevaarlijkste, dus probeer deze zo goed mogelijk te vermijden, indien mogelijk, vooral als je een beginnende pc bent.

Zien? PowerShell begint er al een stuk toegankelijker uit te zien dan een paar minuten geleden.

Scripts maken en gebruiken in PowerShell

Zoals we eerder hebben vermeld en we zijn er zeker van dat u het zich herinnert, kunt u PowerShell gebruiken om automatiseringsscripts uit te voeren. Je kunt echter niet zomaar tegen PowerShell schreeuwen "Hé jij, maak dit script voor mij!" en verwacht dat het op magische wijze werkt, dus je zult wat elleboogvet moeten insmeren en het zelf voor elkaar krijgen. Hoe ongemakkelijk dit op dit moment ook klinkt, geloof ons, u zult op de lange termijn dankbaar zijn, gezien al het werk dat u niet meer hoeft te doen.

Hoewel de meesten van ons afhankelijk zijn van gespecialiseerde software zoals IDE's om scripts of programma's in een specifieke programmeertaal te maken, is de waarheid dat je elke teksteditor kunt gebruiken, zolang deze bestanden maar op de juiste extensie kan opslaan. En zelfs als dat niet het geval is, kun je gewoon naar het bestand navigeren dat je hebt gemaakt en de extensie handmatig wijzigen door het te hernoemen, maar laten we teruggaan naar onze schapen.

Als je geïnteresseerd bent in het maken van een script dat in PowerShell kan werken, zul je blij zijn om te horen dat dit script, waar je waarschijnlijk veel van hebt gehoord, slechts een tekstdocument is met een extensie die het compatibel maakt met PowerShell, PS1 . Daarom is het gemakkelijk in te zien waarom het maken van deze scripts in feite kan worden afgehandeld vanuit vrijwel elke teksteditor, zolang je het maar opslaat met de juiste (PS1)-extensie.

Write-host "Please enter your name:"

$Name = read-host

"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"

Nu voor het eigenlijke creatiegedeelte:

  1. Start Kladblok (of een andere teksteditor wat dat betreft)
  2. Kopieer de bovenstaande code (het script dat u gaat maken en uitvoeren)
  3. Plak het in uw nieuwe Kladblok-document
  4. Gebruik CTRL + S om het document op te slaan
  5. Typ  script.ps1als bestandsnaam
  6. Bewaar het bestand ergens toegankelijk
  7. Open een PowerShell-instantie met beheerdersrechten (erg belangrijk)
  8. Zorg ervoor dat je aangepaste scripts op je systeem hebt ingeschakeld (controleer de secties hierboven)
  9. Navigeer naar de locatie waar je het script hebt opgeslagen
  10. Typ het volledige pad van het script om het uit te voeren
    • Als uw script zich bijvoorbeeld in een map Scripts op uw C-schijf bevindt, is uw opdracht: C:\Scripts\script.ps1
    • Als alternatief kunt u eenvoudig naar de locatie van uw script navigeren en deze opdracht gebruiken om het uit te voeren: .\script.ps1

Als u het script niet kunt uitvoeren en PowerShell een fout retourneert, moet u ervoor zorgen dat u PowerShell hebt ingeschakeld om aangepaste scripts op uw systeem uit te voeren en dat u PowerShell als beheerder uitvoert. Als u geen of beide dingen doet die we in onze instructies hebben gespecificeerd, zal dit hoogstwaarschijnlijk resulteren in een fout en kunt u uw script niet uitvoeren.

Onthoud dat dit slechts een basisscript is dat enigszins lijkt op het klassieke "Hallo, wereld!" een. Het geeft er een draai aan door met u te communiceren (dwz te vragen wat uw naam is) en u ermee te laten communiceren (dwz uw naam te typen die zal worden gebruikt om een ​​bericht voor u af te drukken). PowerShell is echter in staat om veel complexere scripts uit te voeren, variërend van het verzamelen van gegevens van een reeks machines tot ingewikkeld gegevensbeheer, geavanceerde systeemconfiguratiebewerkingen en zelfs het maken van back-ups van SQL-databases in een oogwenk.

Hoe kan ik een back-up maken van SQL-databases met PowerShell?

We zijn blij dat je het vraagt. Zoals we ontelbare keren in onze gids hebben vermeld, zijn er bijna eindeloze mogelijkheden als het gaat om bewerkingen die PowerShell u kan helpen uitvoeren. Een van de meest populaire is het maken van back-ups van een SQL-database zonder dat u veel moeite hoeft te doen of over buitengewone databasebeheermogelijkheden beschikt. Het enige dat u hoeft te doen, is een verhoogde instantie van PowerShell (met beheerdersrechten) starten en de opdracht Backup-SqlDatabase gebruiken. De dingen zijn echter een beetje ingewikkelder dan dat, maar daar komen we later op terug.

Het maken van een back-up van een SQL-database is niet zo eenvoudig als het simpelweg kopiëren van bestanden van uw pc naar een veilige locatie en hopen dat ze veilig blijven voor wanneer u ze nodig heeft om gegevensherstelbewerkingen uit te voeren, maar aan de positieve kant kan het gebruik van PowerShell het laten lijken als een wandeling in het park. Hoewel er verschillende manieren zijn om dit te bereiken, is het gebruik van de hierboven genoemde opdracht de snelste en eenvoudigste manier om een ​​back-up te maken van een SQL-database.

Onder de mogelijkheden van de opdracht Backup-SqlDatabase is het mogelijk om volledige databaseback-ups, databasebestandsback-ups en transactielogboekback-ups te vinden, zodat u het volledige pakket binnen een enkele opdrachtregeltool krijgt. Standaard wordt met deze opdracht een volledige databaseback-up uitgevoerd, dus u moet aangeven of u wilt dat deze een bepaalde set regels volgt door de parameter BackupFile te gebruiken .

Houd er rekening mee dat sommige versies van PowerShell deze opdracht standaard niet bevatten, dus u moet deze ofwel importeren of installeren. Het goede nieuws is dat het installeren van de SQL-module niet bepaald een raketwetenschap is en zelfs door beginners kan worden bereikt. Dit is wat u moet doen als u de opdracht Backup-SqlDatabase niet kunt gebruiken in uw PowerShell-sessie:

  1. Start PowerShell met beheerdersrechten
  2. Typ de volgende opdracht:
    • install-module sqlserver
  3. Wanneer u wordt gevraagd om uw acties te bevestigen, typt u Y en drukt u op Enter op uw toetsenbord
  4. Bevestig de niet-vertrouwde repository nogmaals door Y en Enter . te typenCheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt
  5. Nadat de installatie is voltooid, typt u de volgende opdracht:
    • import-module sqlserver
  6. Probeer de opdracht Backup-SqlDatabase uit te voeren door deze in de PowerShell-opdrachtregel te typen
    • Als het werkt, zou je moeten zien dat PowerShell je vraagt ​​om waarden op te geven voor sommige parameters
    • Als het niet werkt, zorg er dan voor dat u de toestemming van PowerShell hebt ingesteld om aangepaste scripts uit te voeren

1. Volledige back-up van SQL-database

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"

De opdracht die we hierboven hebben geïllustreerd, genereert een volledige databaseback-up van een database met de naam TipsWebTech360 en slaat deze op de standaardback-uplocatie van de "Computer\Instance"-serverinstantie op als 'Tips.WebTech360.bak'.

2. Voer een locatiegebaseerde databaseback-up uit

  • Set-Location "SQLSERVER:\SQL\Computer\Instance"
  • PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"

De eerste opdracht hierboven zal uw locatie wijzigen in de actieve map binnen de serverinstantie waarop de back-up zal plaatsvinden. In wezen werkt deze techniek bijna zoals de volledige databaseback-up die we hierboven hebben geïllustreerd, maar in dit voorbeeld moet u de werkdirectory wijzigen om de serverinstantie te lokaliseren waar de back-up plaatsvindt.

Deze bewerking maakt ook een volledige back-up van een database met de naam Tips.WebTech360 en exporteert deze als een 'Tips.WebTech360.bak'-bestand op de standaardlocatie van de serverinstantie waarmee u bent verbonden.

3. Voer een back-up van het transactielogboek uit

  • Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log

Als u alleen een back-up hoeft te maken van het transactielogboek van een specifieke database, kan PowerShell u ook helpen om dat te doen via een enkele opdracht die u rechtstreeks in de opdrachtregelinterface kunt invoeren. De bovenstaande opdracht genereert een reservekopie van het transactielogboek van de 'Tips.WebTech360'-database en exporteert deze naar de standaardlocatie van de 'Computer\Instance'-serverinstantie als een bestand met de naam 'Tips.WebTech360.trn'.

4. Maak een gecodeerde back-up van de SQL-database

  • $EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
  • Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption

Als u bang bent dat uw databaseback-up in verkeerde handen valt, kan PowerShell u ook helpen bij het maken van kant-en-klare gecodeerde back-upbestanden. Natuurlijk moet u enkele parameters specificeren, zoals het coderingsalgoritme, het coderingstype (dwz certificaat), serverinstantie, databasenaam, back-upbestand en of u de uitvoer al dan niet wilt comprimeren.

Het bovenstaande voorbeeld maakt een back-up van een bepaalde 'Tips.WebTech360'-database, versleutelt deze met AES-256-codering en een servercertificaat, comprimeert deze en slaat het resulterende 'Tips.WebTech360.bak'-bestand op de standaardback-uplocatie van de serverinstantie op. Dit is heel belangrijk als je een migratie plant en geen trefzekere manier hebt om alle back-upbestanden te transporteren zonder het risico te lopen er één van te vervreemden.

5. Maak een back-up van alle databases in een serverinstantie

  • Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase

Een andere tool die van pas kan komen, is de mogelijkheid van PowerShell om tegelijkertijd een back-up te maken van alle databases op een serverinstantie. Ongeacht hun aantal, start u gewoon PowerShell, typt u een aanpassing van de bovenstaande opdracht en wacht u tot het back-upproces is voltooid. Houd er rekening mee dat aangezien dit een back-up van alle databases binnen de serverinstantie maakt, u mogelijk even moet wachten, dus wees geduldig.

De bovenstaande opdracht maakt een back-up van alle databases die zich op de 'Computer\Instance'-serverinstantie bevinden en exporteert de resulterende bestanden naar de standaardback-uplocatie op dezelfde serverinstantie. De namen van de back-upbestanden worden automatisch gegenereerd volgens de bijbehorende database, gevolgd door de BAK-extensie (dwz .bak).

Hoewel er nog meer methoden zijn om SQL-back-up met PowerShell op verschillende manieren uit te voeren, hebben we er slechts een paar gepresenteerd die volgens ons belangrijker waren. Houd er rekening mee dat de opdrachten die we in onze bovenstaande voorbeelden hebben gebruikt, waarschijnlijk niet werken in uw omgeving in hun huidige vorm, dus u zult ze aan uw huidige situatie moeten aanpassen.

U moet bijvoorbeeld de parameter 'Computer\Instance' wijzigen zodat deze overeenkomt met uw eigen serverinstantie en de naam van uw database aanpassen aan de naam van uw eigen database. Onthoud dat u zich altijd kunt wenden tot de  help- opdracht in PowerShell als u ooit het gevoel hebt dat de opdracht die u probeert uit te voeren verwarrend is of niet werkt zoals zou moeten.

Must-know PowerShell-opdrachten

1. Hulp krijgen

We kunnen dit niet genoeg benadrukken, maar het  Get-Help-  commando zou de eerste moeten zijn die je ooit leert, omdat het je serieus uit talloze lastige situaties kan halen waarin je niet precies zeker weet of je het juiste commando gebruikt, of precies wat u kunt bereiken met de opdracht die u probeert te implementeren.

Nu u de sqlserver- module op uw systeem hebt geïnstalleerd , kunt u de opdracht Get-Help nu proberen en zien hoe Backup-SqlDatabase werkt. Typ gewoon  Get-Help Backup-SqlDatabase in de opdrachtregel van PowerShell en poets uw back-upvaardigheden voor PowerShell SQL-databases op.

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Houd er rekening mee dat als u onlangs de sqlserver- module op uw systeem hebt geïnstalleerd , de Help-database mogelijk nog steeds verouderd is en dat u mogelijk een update moet uitvoeren zodat deze nieuwe scripts kan inhalen. Standaard detecteert PowerShell dat de inhoud die u probeert te bereiken online beschikbaar is, maar dat u deze niet lokaal kunt openen, en biedt zelfs aan om de database voor u bij te werken. In dit geval hoeft u alleen maar Y in te typen wanneer daarom wordt gevraagd en op de Enter- toets op uw toetsenbord te drukken.

Als PowerShell u echter een foutmelding geeft waarin staat dat er geen helphandleiding beschikbaar is voor de opdracht waarin u geïnteresseerd bent, kunt u deze handmatig bijwerken door Update-Help te typen en op Enter op uw toetsenbord te drukken. Nadat het updateproces is voltooid, zou u de beschikbare helpdocumentatie moeten kunnen raadplegen voor de opdracht waarin u geïnteresseerd bent.

2. Get-proces

Get-Process is van het grootste belang als je meer wilt weten over het systeem waar je op dit moment aan werkt. Om specifieker te zijn, hoewel je misschien al geraden hebt wat dit commando doet door er alleen maar naar te kijken, zal Get-Process je een lijst geven van alle processen die momenteel draaien op het systeem waaraan je werkt.

Standaard haalt Get-Process een lijst op van elk proces dat wordt uitgevoerd op het huidige systeem waaraan u werkt, dus het kan zijn dat u wat extra parameters aan deze opdracht moet toevoegen als u meer specifieke informatie wilt en de lijst met resultaten wilt verkleinen. Bekijk in de onderstaande schermafbeeldingen wat u krijgt als u de opdracht Get-Process zelf uitvoert , versus hoe het eruitziet als u specifieker bent en de resultaten opmaakt.

  • Get-Process

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

  • Get-Process explorer | Format-List *

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

De tweede opdracht kan worden aangepast om aanvullende details over elk actief proces op uw systeem weer te geven. U kunt verkenner vervangen  door  svchost of  Chrome of een ander actief proces op uw systeem waarin u geïnteresseerd bent. Zoals we hierboven hebben vermeld, kan het gebruik van Get-Processen op zich u daarbij helpen (dwz het vinden van een lijst met alle lopende processen ).

3. Stop-proces

Deze opdracht is vrijwel vanzelfsprekend, omdat je misschien al hebt ontdekt dat het je kan helpen processen te stoppen die momenteel op je systeem worden uitgevoerd. De meest voorkomende reden om dat vanuit PowerShell te doen en niet door Windows Taakbeheer te gebruiken, is dat processen soms kunnen vastlopen en GUI-apps nauwelijks bruikbaar maken.

PowerShell-gebruikers kunnen gemakkelijk een lastig proces identificeren met behulp van de Get-Process- opdracht die we eerder hebben uitgelegd, en vervolgens  Stop-Process gebruiken om het te beëindigen, waardoor het systeem wordt ontstopt. Als u  Stop-Process zelf uitvoert (zonder enige aanvullende parameter) in uw PowerShell-opdrachtregelinterface, wordt u gevraagd de ID in te voeren van het proces dat u probeert te beëindigen. 

U kunt een proces echter ook beëindigen met de naam (als u die kent) door de parameter -Name aan de cmdlet toe te voegen , zoals in het onderstaande voorbeeld:

  • Stop-Process -Name "explorer"

De bovenstaande opdracht beëindigt het Explorer-proces, wat vooral handig kan zijn als het vastloopt of vastloopt en weigert correct te laden. Houd er rekening mee dat u aanhalingstekens moet gebruiken bij het opgeven van de naam van het proces dat u probeert te beëindigen. Als een proces koppig is en weigert te beëindigen (meestal doen processen met een hogere klaring dat), kunt u het "overtuigen" door een -Force- parameter aan uw opdracht toe te voegen . Stel bijvoorbeeld dat u uw Explorer-proces niet kunt beëindigen. In dit geval typt u eenvoudig de onderstaande opdracht:

  • Stop-Process -Force -Name "explorer"

Verder is het vermeldenswaard dat het gebruik van de parameter -Force in uw Stop-Process- opdracht niet om bevestiging zal vragen, in tegenstelling tot het uitvoeren van de opdracht zonder deze optie. Als je meer wilt weten over deze cmdlet, gebruik dan de Get-Help- opdracht.

4. Get-Service

Deze opdracht behoort niet voor niets tot de essentiële opdrachtenlijst: het kan u een lijst geven van alle services die momenteel zijn geïnstalleerd op het systeem waaraan u werkt, ongeacht of ze actief zijn of niet. Net als bij veel andere cmdlets, kunt u Get-Service aanpassen om u meer specifieke informatie te geven, hetzij met betrekking tot een bepaalde service, of zelfs een lijst met alle actieve (of gestopte) services op uw computer weer te geven.

U kunt doorgaan en Get-Service typen  in uw PowerShell-opdrachtregel. Als u dit doet, krijgt u een lijst met alle services die beschikbaar zijn op uw computer, evenals hun weergavenamen en statussen. Als u een extra opdracht aan de oorspronkelijke cmdlet toevoegt, kunt u de uitvoer wijzigen, zodat deze alleen resultaten weergeeft waarin u geïnteresseerd bent.

  • Get-Service "W*"

Als u bijvoorbeeld de bovenstaande opdracht typt, krijgt u een lijst met alle beschikbare services op uw computer die beginnen met de letter 'W'. U kunt echter nog verder gaan en uw opdracht aanpassen om de lijst met resultaten nog verder te verkleinen.

  • Get-Service | Where-Object {$_.Status -eq “Running”}

Met de bovenstaande opdracht ziet u een lijst met alle beschikbare services op uw computer die ook worden uitgevoerd op het moment dat u de cmdlet uitvoert. Door de "W*" toe te  voegen zoals we in het vorige voorbeeld hebben gedaan, wordt een lijst weergegeven met alle actieve services op uw computer die beginnen met de letter 'W', en de opdracht zou er als volgt uit moeten zien:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"}

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

5. Get-EventLog

Elke verantwoordelijke systeembeheerder zou de weg moeten weten in het werken met gebeurtenislogboeken, aangezien deze documenten u nuttige kennis kunnen geven over wat er op uw systeem is gebeurd, op welk tijdstip het gebeurde en soms zelfs wat die specifieke gebeurtenis veroorzaakte.

Daarom kunnen we veilig aannemen dat de Get-EventLog-  opdracht van PowerShell niet iets is dat u op uw gereedschapsriem wilt missen, vooral als u van plan bent uw systeembeheervaardigheden aan te scherpen. Als u alles weet wat er te weten valt over gebeurtenislogboeken en hun namen, kunt u doorgaan en Get-EventLog rechtstreeks in de opdrachtregel van uw PowerShell typen. Houd er rekening mee dat PowerShell u zal vragen de naam in te voeren van het logboek dat u probeert te bekijken.

Als u de naam van een leeg gebeurtenislogboek typt (een zonder vermeldingen), geeft PowerShell u een foutmelding en keert u terug naar de opdrachtregelinterface. Daarom zou het gemakkelijker zijn als u gewoon de onderstaande opdracht zou gebruiken, die u een lijst met gebeurtenislogboeken op uw systeem geeft, samen met aanvullende details over elk ervan, zoals de standaard overloopactie en het aantal vermeldingen.

  • Get-EventLog -List

Een van de meest populaire use-cases voor gebeurtenislogboeken is het controleren op fouten, vooral als ze stil plaatsvonden, kort werden gevolgd door een systeemcrash of leidden tot een BSOD, waarvan we allemaal weten hoe cryptisch kan zijn. U moet echter specifieker zijn met de Get-EventLog-cmdlet als u de lijst met resultaten wilt beperken, die vaak enorm kan zijn.

  • Get-EventLog -LogName Security -EntryType Error

Als u de bovenstaande opdracht in de opdrachtregelinterface van uw PowerShell typt, krijgt u een lijst met alle fouten die zijn geregistreerd in uw beveiligingsgebeurtenislogboek. Merk op dat u de parameter -List kunt gebruiken om alle logtypes in uw systeem te zien en Securityin de bovenstaande opdracht te vervangen door elk ander logtype dat u op uw lijst vindt, zolang het maar meer dan nul items heeft.

Als u meer wilt weten over het gebruik van de opdracht  Get-EventLog  in PowerShell, kunt u de opdracht  Get-Help gebruiken waarover we in de eerste sectie van dit subhoofdstuk hebben gesproken. 

6. Converteren naar HTML

Soms, wanneer u PowerShell gebruikt, kunt u bepaalde informatie tegenkomen die u wilt extraheren en bewaren voor toekomstig gebruik, rapporten wilt maken of deze eenvoudig vanuit een andere toepassing wilt importeren. Een van de meest gebruikte manieren om deze gegevens uit PowerShell te extraheren en naar een extern bestand op uw computer te exporteren, is de opdracht ConvertTo-HTML  .

Met deze opdracht kunt u uitgebreide rapporten maken die u kunnen helpen de geëxtraheerde informatie en inzichten op een effectievere manier te analyseren door u HTML-tabellen te bieden die u later kunt aanpassen door aangepaste stijlen en kleurgecodeerde gegevens toe te voegen. Zoals met veel andere PowerShell-opdrachten, werkt ConvertTo-HTML niet op zichzelf en moet u het koppelen aan een extra opdracht die het als invoer (of een gegevensbron) zal gebruiken.

Als u bijvoorbeeld een rapport probeert af te drukken dat bestaat uit elke service die begint met de letter 'W' en momenteel op uw computer wordt uitgevoerd, typt u de onderstaande opdracht:

  • Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML

Dit geeft u een HTML-code van de gegevens die u naar de ConvertTo-HTML-functie hebt gevoerd, die u eenvoudig rechtstreeks vanuit de opdrachtregelinterface van PowerShell kunt kopiëren, in uw favoriete teksteditor kunt plakken en opslaan als een HTML-bestand, dat u kunt gebruiken om het resultaat in elke webbrowser te bekijken.

U kunt ConvertTo-HTML gebruiken met vrijwel elke PowerShell-opdracht, zolang de opdracht die u als gegevensbron gebruikt, uitvoer genereert. U kunt het proberen met andere cmdlets, zoals Get-Process , Get-EventLog of Get-Help . Merk op dat naast HTML-conversies, de ConvertTo- cmdlet ook kan worden gebruikt om JSON-, CSV- en XML-bestanden te genereren. U hoeft alleen HTML in de opdrachtsyntaxis te vervangen door het formaat waarin u geïnteresseerd bent.

7. Export-CSV

Als u met verschillende objecten werkt waarvan u denkt dat ze veel beter in een tabel passen, kunt u PowerShell gebruiken om de items die u momenteel verwerkt om te zetten in een reeks CSV-tekenreeksen (door komma's gescheiden waarden) en de tekenreeksen te exporteren naar een bestand in één snelle beweging via de Export-CSV-cmdlet.

Net als bij ConvertTo-HTML heeft Export-CSV een invoer nodig die het kan converteren naar CSV-strings, omdat het niet alleen kan werken. U moet het dus koppelen aan een opdracht die kan worden gebruikt om gegevens te genereren, zoals de Get-Service of Get-Process die we eerder hebben uitgelegd.

In wezen doet Export-CSV bijna hetzelfde als de ConvertTo-HTML-cmdlet die we hierboven hebben besproken, afgezien van een belangrijk aspect dat niet over het hoofd mag worden gezien: deze cmdlet genereert een bestand en slaat het op uw computer op, in tegenstelling tot de opdracht ConvertTo, die u alleen de uitvoer geeft en waarmee u het bestand zelf kunt maken.

Laten we bijvoorbeeld aannemen dat u de lijst met services die op uw computer worden uitgevoerd, wilt omzetten in een CSV-bestand, zodat u het bestand verder kunt verwerken met software van derden, of het in een spreadsheet wilt opnemen voor verdere referentie. Het enige dat u hoeft te doen, is de opdracht Get-Service typen, gevolgd door de opdracht Export-CSV, en een locatie vermelden waar u het CSV-bestand wilt genereren, zoals in het onderstaande voorbeeld:

  • Get-Service | Export-CSV c:\Tips.WebTech360.csv

De bovenstaande opdracht haalt een lijst op van alle services die beschikbaar zijn op uw computer, actief of niet, converteert ze naar een reeks CSV-strings en slaat het resultaat op als een CSV-bestand met de naam 'Tips.WebTech360' in de hoofdmap van uw C-schijf . U kunt het bestand vervolgens openen in een softwareoplossing van derden, het omzetten in een volwaardige tabel of het gewoon opslaan voor toekomstig gebruik.

PowerShell-cheatsheet - CONCLUSIE

Hoewel er nog steeds veel mensen pleiten voor CMD, is de waarheid dat PowerShell veelzijdiger, veel krachtiger is, maar tegelijkertijd ingewikkelder om mee te werken dan zijn traditionele CMD-tegenhanger. Het enorme aantal functies, gecombineerd met het feit dat u automatiseringsscripts in PowerShell kunt maken en gecompliceerde systeembeheerbewerkingen kunt uitvoeren, laat CMD gewoon in een schaduw.

Als je net begint met het ontdekken van PowerShell en je hebt moeite om erachter te komen wat elke opdracht doet, hoe je verschillende opdrachten kunt pijplijnen of hoe je zelf eenvoudige PowerShell-scripts kunt maken en uitvoeren, is onze gids een goed startpunt. We hebben de tijd genomen om enkele van de belangrijkste commando's uit te leggen waarvan je op de hoogte moet zijn in PowerShell, een paar korte zelfstudies gemaakt en ook een lijst met basis PowerShell-commando's, hun aliassen en korte beschrijvingen voor elk item opgenomen, gewoon om te vereenvoudigen uw PowerShell-ontdekkingsreis.


6 beste netwerkbeheertools die prestaties bijhouden

6 beste netwerkbeheertools die prestaties bijhouden

De markt voor netwerkbeheersoftware is erg druk. Verkort uw zoekopdracht door onze aanbevelingen van de beste netwerkbeheertools te volgen.

10 beste Ping Sweep-tools om u meer over uw netwerk te vertellen

10 beste Ping Sweep-tools om u meer over uw netwerk te vertellen

Ping-sweeps kunnen op veel manieren in uw voordeel worden gebruikt. Lees verder terwijl we bespreken hoe en introduceer de 10 beste Ping-sweep-tools die u kunt vinden.

6 beste tools voor het monitoren van websites

6 beste tools voor het monitoren van websites

Websites zijn belangrijk en moeten voortdurend nauwlettend worden gecontroleerd op adequate prestaties. Hier zijn enkele van de beste tools voor het monitoren van websites.

Beste software-implementatietools voor ontwikkelteams in 2022

Beste software-implementatietools voor ontwikkelteams in 2022

Hier is een blik op enkele van de allerbeste software-implementatietools om de pijn van het beheer van een willekeurig aantal machines te verlichten

Beste gratis sFlow-verzamelaars en -analysers beoordeeld in 2021

Beste gratis sFlow-verzamelaars en -analysers beoordeeld in 2021

sFlow is een stroomanalyseprotocol dat in tal van netwerkapparaten is ingebouwd. We bekijken de top vijf van beste gratis sFlow-verzamelaars en -analysers.

Bandbreedte bewaken op Linux: top 5 tools in 2021

Bandbreedte bewaken op Linux: top 5 tools in 2021

Nu Linux steeds populairder wordt in datacenters, hebben we gekeken naar het monitoren van bandbreedte op Linux en zijn ook de beste tools aan het beoordelen.

SolarWinds Mail Assure - REVIEW 2021

SolarWinds Mail Assure - REVIEW 2021

E-mailbeveiliging is een belangrijke taak van managed service providers. We waren bezig met het beoordelen van SolarWinds Mail Assure, een van de beste tools voor dat doel.

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Cheatsheet voor Windows PowerShell-opdrachten - De ultieme gids die u nodig hebt

Als u een krachtige Windows-gebruiker bent, weet en begrijpt u waarschijnlijk hoe het uitvoeren van verschillende bewerkingen op uw pc meer dan één benadering en

Beste netwerklatentietest- en monitoringtools in 2021

Beste netwerklatentietest- en monitoringtools in 2021

Latency lijkt de grootste vijand van netwerken te zijn. Deze latency-meettools leren hoe latency te testen om problemen op te sporen, te lokaliseren en op te lossen.

Beste hulpprogrammas voor netwerkbewaking voor Windows 10 in 2021

Beste hulpprogrammas voor netwerkbewaking voor Windows 10 in 2021

Windows-netwerkmonitor vereist tools met beperkte vereisten. Vandaag keken we naar de beste hulpprogramma's voor netwerkbewaking voor Windows 10.