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.
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.
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:
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:
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:
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:
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 :
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.
Set-ExecutionPolicy
RemoteSigned
de PowerShell-opdrachtprompt en druk op EnterRestricted
en bevestigt u uw keuze zoals u deed bij stap 7Als 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 RemoteSigned
door Restricted
en uw keuze aan het einde ook bevestigen.
U kunt ook gebruik maken AllSigned
en Unrestricted
om 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:
script.ps1
als bestandsnaamC:\Scripts\script.ps1
.\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:
install-module sqlserver
import-module sqlserver
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.
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
Get-Process explorer | Format-List *
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"}
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 Security
in 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.
De markt voor netwerkbeheersoftware is erg druk. Verkort uw zoekopdracht door onze aanbevelingen van de beste netwerkbeheertools te volgen.
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.
Websites zijn belangrijk en moeten voortdurend nauwlettend worden gecontroleerd op adequate prestaties. Hier zijn enkele van de beste tools voor het monitoren van websites.
Hier is een blik op enkele van de allerbeste software-implementatietools om de pijn van het beheer van een willekeurig aantal machines te verlichten
sFlow is een stroomanalyseprotocol dat in tal van netwerkapparaten is ingebouwd. We bekijken de top vijf van beste gratis sFlow-verzamelaars en -analysers.
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.
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.
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
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.
Windows-netwerkmonitor vereist tools met beperkte vereisten. Vandaag keken we naar de beste hulpprogramma's voor netwerkbewaking voor Windows 10.