Tutorials

Powershell: wat het is en basis- en 【aanbevolen comandos-opdrachten

Inhoudsopgave:

Anonim

Net zoals het werkt en taken vervult die vergelijkbaar zijn met taken die kunnen worden verkregen met de opdrachtprompt, is de native Windows PowerShell- tool een invoerbron voor het Windows-besturingssysteem. Een tool die vaak wordt gebruikt vanwege zijn flexibiliteit door zowel ingenieurs als systeemanalisten dagelijks in hun werk.

Of u nu servers of systemen moet beheren, PowerShell is een verbeterde en geavanceerde versie van de traditionele opdrachtprompt. De taken en functies van Windows Powershell zijn in principe hetzelfde als die in de CMD (opdrachten naar Windows verzenden via specifieke opdrachten), hoewel het ook verschillende extra functies heeft die erg handig kunnen zijn voor de gebruiker.

In tegenstelling tot wat er gebeurt in de CMD, biedt PowerShell ons een robuuste scriptinterface met specifieke functies waar u ze kunt uitvoeren om verschillende processen uit te voeren onder het Windows-systeem. Met zo'n interactieve opdrachtregel kun je opdrachten starten om verschillende taken te automatiseren.

Deze tool was al compatibel met Windows XP, maar om hem te kunnen gebruiken, moest hij worden gedownload en geïnstalleerd. Nu met Windows 10 is de Powershell al voorgeïnstalleerd en met aanzienlijk zicht om toegang gemakkelijk te maken.

Inhoudsindex

Wat is Windows Powershell?

De PowerShell-interface kan voor verschillende doeleinden worden gebruikt, zoals het uitvoeren van geavanceerde applicaties of zelfs eenvoudigere taken zoals het kennen van de huidige tijd. Powershell-opdrachten kunnen ook samenwerken en combineren op de opdrachtregel voor meer specifieke en geavanceerde resultaten. Dit wordt " pipelining" genoemd.

Ondertussen biedt Powershell ook een optie die voor sommige gebruikers van pas kan komen: de mogelijkheid om andere opdrachten die door dezelfde gebruikers zijn gemaakt aan de console toe te voegen.

Hoewel PowerShell enkele jaren geleden is gemaakt en met Windows 10 een grotere zichtbaarheid en bekendheid heeft, is het nog steeds een weinig bekende tool, niet alleen voor basisgebruikers, maar ook voor veel computeroperators die niet alle voordelen kennen die ze kunnen bieden. de cmdlets (scriptlicht) van deze console.

Vanwege alle voordelen die deze commando's kunnen bieden, en rekening houdend met het feit dat Microsoft meer ruimte aan Powershell heeft besteed, zodat Windows-gebruikers eraan kunnen wennen, is het noodzakelijk om meer te leren over Powershell-functies, waarvoor ze worden gebruikt en hoe ze ons kunnen helpen door ze te gebruiken.

Hoe Windows PowerShell te openen

De PowerShell- tool kan snel worden geopend door de functie Uitvoeren in Windows te openen.

  • Om dit te doen, drukt u tegelijkertijd op de toetsen Windows + R. Typ in het vak Uitvoeren dat zojuist is geopend "PowerShell" en klik op OK of druk direct op Enter.

Een andere optie die u nodig heeft om toegang te krijgen tot Powershell, is om de zoekmachine van Cortana te gebruiken, die zich linksonder op het scherm bevindt, van waaruit u naar deze tool kunt zoeken.

Essentiële PowerShell-opdrachten (zelfstudie)

In PowerShell worden commando's "cmdlet" genoemd en u kunt de tab-toets gebruiken om Powershell de naam van de cmdlet die u wilt gebruiken automatisch te laten aanvullen.

Windows PowerShell is gemaakt met het oog op achterwaartse compatibiliteit, waardoor het een bron is die goed werkt met dezelfde opdrachten die de CMD gebruikt. Als u dit weet, kunnen dezelfde opdrachten die in de opdrachtprompt werden gebruikt, worden gebruikt, maar in een meer geavanceerde interface en met veel meer opdrachten.

Hier hebben we een aanzienlijk aantal nuttige cmdlets samengesteld die in Powershell kunnen worden gebruikt en waarin de syntaxis van elk wordt beschreven, evenals de specifieke functie van elk.

Om te beginnen met de basis, en een snelle blik te werpen op de cmdlets die PowerShell ons biedt, kunnen we het "Show-Command" -commando uitvoeren, waardoor een venster wordt geopend, dat ons een uitgebreide en volledige lijst van alle beschikbare commando's laat zien.

Get-Command

Als u alle cmdlets wilt weten die PowerShell biedt, kunt u dit doen door deze opdracht in de console te typen.

Windows PowerShell maakt het via deze opdracht mogelijk om alle functies en kenmerken te kennen die de cmdlets bevatten, gepresenteerd in de vorm van een lijst die de functies van elk beschrijft, evenals hun parameters en speciale opties.

Om deze lijst met commando's te verkrijgen, is het noodzakelijk om "Get-Command" te schrijven, gevolgd door een specifieke parameter, waarmee informatie wordt verkregen uit de betreffende cmdlet. Als we bijvoorbeeld in Powershell "Get-Command * -help *" schrijven, zien we een reeks opdrachten die de parameter "-help" accepteren.

Als u aan elke kant van de parameter een asterisk toevoegt, zoals we in het voorbeeld hebben gedaan, krijgt u alle mogelijke combinaties die de Get-Command-cmdlet gebruikt wanneer deze wordt vergezeld door "-help".

Typ 'Get-Command -Name in de console 'We krijgen een reeks opdrachten met die specifieke naam. Het kan voorkomen dat u de juiste naam van een cmdlet niet meer weet of niet weet. In deze situatie kunt u de twee sterretjes aan elke kant van de naam opnemen, zoals hierboven vermeld, bijvoorbeeld "Get-Command -Name * set *", zodat u een lijst met cmdlets kunt zien die de term "set" bevatten in je naam.

Get-Host

Als u deze opdracht uitvoert, krijgt u de versie van Windows PowerShell die het systeem gebruikt.

Get-geschiedenis

Deze opdracht biedt een geschiedenis van alle opdrachten die zijn uitgevoerd tijdens een PowerShell-sessie en die momenteel worden uitgevoerd.

Get-Random

Het uitvoeren van deze opdracht levert een willekeurig getal op tussen 0 en 2.147.483.646.

Get-service

In bepaalde gevallen is het nodig om te weten welke services in het systeem zijn geïnstalleerd, waarvoor de opdracht Get-Service kan worden gebruikt, die informatie geeft over de services die worden uitgevoerd en de services die al zijn gestopt.

Als u deze cmdlet wilt gebruiken, typt u "Get-Service" in de console, terwijl u een van de aanvullende parameters gebruikt, in een syntaxis die lijkt op het volgende voorbeeld:

Get-service | Where-Object {$ _. Status -eq "Running"}

Hiermee worden de services in het systeem uitgevoerd. Als deze opdracht zonder parameter wordt uitgevoerd, wordt er een lijst met alle services met hun respectievelijke status weergegeven (bijvoorbeeld "Actief of" Gestopt ").

Als u al precies weet over welke opdracht u informatie wilt krijgen, is het gebruik van Get-Service veel praktischer dan naar het Windows Configuratiescherm te gaan en vanuit de Windows GUI (grafische gebruikersinterface) te werken.

Hulp krijgen

Deze opdracht is vooral erg handig voor beginnende gebruikers van Powershell en biedt een basishulp om meer te leren over cmdlets en hun functies.

Als u PowerShell voor een korte tijd gebruikt, is het zeer waarschijnlijk dat u gedesoriënteerd en met enige problemen zult zijn; In deze omstandigheden wordt Get-Help uw gids, aangezien deze opdracht de essentiële documentatie biedt over cmdlets, functies, opdrachten en scripts.

Op dezelfde manier is het gebruik ervan helemaal niet ingewikkeld: u hoeft alleen maar "Get-Help" te schrijven, vergezeld van de cmdlet waarvan u meer details wilt weten. Om het gebruik ervan te illustreren, zouden we naar meer informatie kunnen zoeken vanuit de "Get-Process" -cmdlet, in welk geval het voldoende zou zijn om "Get-Help Get-Process" te schrijven.

Om een ​​duidelijker idee te hebben over hoe Get-Help werkt in Windows PowerShell, zien we door deze opdracht uit te voeren een beschrijving samen met een korte uitleg over het gebruik ervan.

Get-Date

Om snel te weten welke dag het op een bepaalde datum in het verleden was, krijg je met deze opdracht de exacte dag. Als u bijvoorbeeld wilt weten welke dag 20 mei 2009 was, moet u in Powershell schrijven:

"Get-Date 05.05.2009", waarbij de datum wordt ingevoerd in "dd.mm.aa" -indeling. In het geval van het alleen uitvoeren van Get-Date, zal het ons de huidige datum en tijd geven.

PS C: \ Users \ MiguePR> Get-Date zaterdag 27 juli 2019 12:00:40

Kopieer-item

Met deze opdracht kun je mappen of bestanden kopiëren.

Als u op zoek bent naar een kopie van bestanden en mappen op uw opslagstation, of als u sleutels of registervermeldingen moet kopiëren, dan is Copy-Item de juiste cmdlet. Het werkt zeer vergelijkbaar met het commando "cp" dat is opgenomen in de opdrachtprompt, hoewel het veel beter is.

Hiervoor moet de Copy-Item-opdracht worden gebruikt om de naam van elementen te kopiëren en te wijzigen met dezelfde opdracht, waarmee een nieuwe naam voor dat element kan worden vastgesteld. Als u het bestand "ProfesionalReview.htm" wilt kopiëren en hernoemen naar "Proyectitosbuenos.txt", schrijft u:

Kopieer-item "C: \ Proyectos.htm" -Bestemming "C: \ MyData \ Proyectos.txt".

Invoke-Command

Als u een script of PowerShell-opdracht wilt uitvoeren (lokaal of op afstand, op een of meer computers), is "Invoke-Command" de beste optie. Het is eenvoudig te gebruiken en helpt u batchcomputers te beheren.

U moet Invoke-Command typen naast het script of de opdracht met de exacte locatie.

Aanroep-expressie

Met Invoke-Expression wordt een andere uitdrukking of opdracht uitgevoerd. Als u merkt dat u een invoerreeks of een uitdrukking invoert, zal deze opdracht deze eerst ontleden en vervolgens uitvoeren. Zonder deze opdracht retourneert de tekenreeks geen actie. Invoke-Expression werkt alleen lokaal, in tegenstelling tot Invoke-Command.

Om deze opdracht te gebruiken, moet Invoke-Expression samen met een uitdrukking of opdracht worden geschreven. U kunt bijvoorbeeld een variabele "$ Command" instellen met een opdracht die naar de "Get-Process" -cmdlet verwijst. Door de opdracht "Invoke-Expression $ Command" uit te voeren, werkt "Get-Process" op dezelfde manier als een cmdlet op de lokale computer.

Evenzo kan een functie in een script worden uitgevoerd met behulp van een variabele, wat erg handig is bij het werken met dynamische scripts.

Roep WebRequest aan

Via deze cmdlet, vergelijkbaar met cURL in Linux, kunt u inloggen, scrapen en informatie downloaden met betrekking tot services en webpagina's, terwijl u werkt vanuit de PowerShell-interface en een website van de u wilt deze informatie krijgen.

Om deze taken uit te voeren, moet het samen met zijn parameters als Invoke-WebRequest worden gebruikt. Hiermee is het mogelijk om de links te krijgen die een specifieke website heeft met de volgende voorbeeldsyntaxis:

(Invoke-WebRequest –Uri 'https://wwww.ebay.com'). Links

In dit geval zouden de links van de eBay-site worden verkregen.

Set-ExecutionPolicy

Hoewel we scripts (.ps1) kunnen maken en starten vanuit PowerShell, zijn we beperkt vanwege beveiligingsproblemen. Dit kan echter worden gewijzigd via de beveiligingscategorie met de cmdlet Set-ExecutionPolicy.

U hoeft Set-ExecutionPolicy alleen in te typen naast een van de vier beveiligingsopties om de vereiste wijzigingen aan te brengen:

  • RestrictedAll SignedRemote SignedUnrestricted

Als we bijvoorbeeld het beveiligingsniveau willen beperken, moeten we het volgende gebruiken:

Set-ExecutionPolicy -ExecutionPolicy Beperkt

Get-item

Als u op zoek bent naar informatie over een item met een specifieke locatie, zoals een directory op de harde schijf, dan is het Get-Item commando degene die voor deze taak is aangegeven.

Er moet worden verduidelijkt dat de inhoud van het element zelf, zoals submappen en bestanden in een specifieke map, niet wordt verkregen, tenzij u er expliciet om vraagt.

Aan de andere kant van Get-Item vinden we de cmdlet Remove-Item, waarmee het gespecificeerde item kan worden verwijderd.

Item verwijderen

Als u items zoals mappen, bestanden, functies en variabelen en registersleutels wilt verwijderen, is Remove-Item de beste cmdlet. Het belangrijkste is dat het parameters biedt voor het invoeren en uitwerpen van elementen.

Met de cmdlet Item verwijderen kunt u items van specifieke locaties verwijderen met behulp van bepaalde parameters. Als voorbeeld is het mogelijk om het bestand "Finanzas.txt" te verwijderen met de volgende opdracht:

Verwijder item "C: \ MyData \ Finance.txt"

Get-inhoud

Wanneer u alles wat een tekstbestand bevat in termen van inhoud in een specifiek pad nodig heeft, opent u het en leest u het met een teksteditor zoals Kladblok. Met Windows PowerShell kunt u de opdracht Get-Content gebruiken om door een bestand te bladeren zonder het te openen.

Het is bijvoorbeeld mogelijk om 20 regels tekst te verkrijgen die zijn opgenomen in het bestand "Proyectos.htm", waarvoor u kunt schrijven:

Get-Content "C: \ Proyectos.htm" -TotalCount 20

Deze cmdlet is vergelijkbaar met de vorige Get-Item cmdlet, maar waarmee we kunnen opvragen wat er in het door u aangegeven bestand zit. Als u deze opdracht uitvoert voor een bestand met een txt-extensie, wordt de tekst in dat bestand volledig onthuld. Als je het in een png-afbeeldingsbestand gebruikt, krijg je veel betekenisloze en onleesbare binaire gegevens.

Als het alleen wordt gebruikt, is Get-Content niet erg nuttig. Maar het kan worden gemengd met meer specifieke cmdlets om nauwkeurigere resultaten te verkrijgen.

Set-inhoud

Met deze cmdlet is het mogelijk om tekst op te slaan in een bestand, iets wat lijkt op wat kan worden gedaan met "echo" in de Bash. Indien gebruikt in combinatie met de Get-Content cmdlet, kunt u eerst zien wat er in een bepaald bestand zit en vervolgens de kopie naar een ander bestand maken via Set-Content.

U kunt bijvoorbeeld de cmdlet Set-Content gebruiken om toe te voegen of te vervangen wat in een bestand staat door andere inhoud. Ten slotte kan het worden gecombineerd met de bovengenoemde opdracht om het als volgt op te slaan met een nieuwe naam (example.txt):

Get-Content "C: \ Proyectos.htm" -TotalCount 30 | Set-Content "Voorbeeld.txt"

Get-variabele

Als u in PowerShell variabelen probeert te gebruiken, kunt u dit doen met de Get-Variable-cmdlet, waarmee u deze waarden kunt bekijken. Met deze opdracht worden de waarden in een tabel weergegeven, van waaruit jokertekens kunnen worden gebruikt, opgenomen en uitgesloten.

Om het te gebruiken hoef je alleen maar "Get-Variable" te schrijven, vergezeld van de parameters en andere opties. Als u bijvoorbeeld de waarde van de variabele "korting" wilt weten, schrijft u het volgende:

Get-Variable -Name "korting"

Set-variabele

De waarde van een variabele kan worden ingesteld, gewijzigd of opnieuw geïnitialiseerd met deze cmdlet. Om de waarde van de variabele van het vorige geval in te stellen, moet het volgende worden geschreven:

Set-Variable -Name "discount" -Value "Waarde wordt hier ingesteld"

Get-proces

Vaak gebruiken we Taakbeheer om precies te ontdekken welke processen op onze pc worden uitgevoerd. In PowerShell kan elke gebruiker dit weten door deze cmdlet uit te voeren, waarmee hij de lijst met momenteel actieve processen krijgt.

De Get-Process cmdlet vertoont enige gelijkenis met Get-Service, hoewel het in dit geval informatie geeft over de processen.

Start-proces

Met deze cmdlet maakt Windows PowerShell het veel gemakkelijker om processen op de computer uit te voeren.

Als u bijvoorbeeld de rekenmachine moet gebruiken, kunt u deze snel en gemakkelijk openen door het volgende te typen:

Start-Process -FilePath "calc" –Verb

Stop-proces

Met deze cmdlet kun je een proces stoppen, of het nu door jou is gestart of door een andere gebruiker.

Als u doorgaat met het voorbeeld van de rekenmachine, schrijft u het volgende in PowerShell als u de lopende processen volledig wilt onderbreken:

Stop-proces-naam "calc"

Start-service

Als u een service op de pc moet starten, is de Start-Service-cmdlet degene die in dit geval wordt aangegeven en die op dezelfde manier werkt, zelfs als de service op de pc is uitgeschakeld.

Om de Windows Search-service te starten, wordt deze syntaxis gebruikt:

Start-Service-naam "WSearch"

Stop-service

Met deze opdracht stop je de services die op de computer draaien.

Stop-Service-naam "Wsearch"

Met deze bestelling stopt u de service "Windows Search".

Afsluiten

U kunt PowerShell afsluiten met de opdracht Afsluiten.

Conclusie over Windows PowerShell

Het lijkt misschien dat sommige van deze commando's weinig nut hebben, hoewel dat gebeurt omdat het commando's zijn die niet opvallen totdat andere parameters zijn ingevoerd waardoor de PowerShell effectief zijn volle kracht laat zien.

Deze parameters zijn handig wanneer u uw eigen Cmdlets of Light Scripts schrijft, wat een goede manier is om het meeste uit de PowerShell-functies te halen.

Hoewel het commando's zijn die u sporadisch gebruikt, heeft het voordelen om te weten hoe ze werken en waarvoor ze zijn, aangezien Microsoft zich momenteel meer dan ooit op PowerShell richt.

Aan het eind van de dag zijn cmdlets essentiële opdrachten die u moet weten als u het maximale uit Windows PowerShell wilt halen.

Tutorials

Bewerkers keuze

Back to top button