De meesten van ons geven de voorkeur aan PowerShell vanwege de automatiseringsmogelijkheden. Het is een opdrachtregelshell met een volledig ontwikkelde scripttaal. U kunt de ingebouwde cmdlets gebruiken of uw eigen script schrijven om de beheertaken van Windows en andere compatibele besturingssystemen te automatiseren. Hiermee kunt u alles doen wat u kunt doen met de GUI-apps en meer.

Het beheersen van de functionaliteit en flexibiliteit van PowerShell brengt echter een steile leercurve met zich mee. Als u net begint met PowerShell, zijn hier de essentiële opdrachten die u kunt leren om deze scripttaal op de lange termijn onder de knie te krijgen.

1. Hulp krijgen

Hulp krijgen, zoals de naam al doet vermoeden, maakt deel uit van het geïntegreerde helpsysteem van PowerShell. Het helpt u de benodigde informatie voor de opdracht, concepten en functies te vinden, aliassen, scripts en meer te identificeren.

Om hulp te krijgen voor een PowerShell-cmdlet, moet u de Get-help-cmdlet gebruiken, gevolgd door een cmdlet-naam. Als u bijvoorbeeld de synopsis en syntaxis wilt bekijken die zijn gekoppeld aan de cmdlet get-process, typt u:

instagram viewer

Krijgen-HulpKrijgen-Proces

Deze opdracht kan zowel op commentaar gebaseerde als op XML gebaseerde hulp lezen die door de auteur van de functie wordt geleverd.

Als alternatief kunt u de Krijg-Help-online opdracht om online hulp te krijgen voor een PowerShell-cmdlet. Om bijvoorbeeld de online documentatie van Microsoft voor de Inhoud krijgen cmdlet, typ:

Krijgen-HulpKrijgen-Inhoud -online

2. Get-proces

De Get-proces commando helpt u bij het ophalen en weergeven van een lijst van alle actieve systeemprocessen met hun identifiers (ID's). Je kunt het gebruiken als een efficiënt alternatief voor Windows Taakbeheer om systeemprocessen te bekijken, stoppen en opnieuw te starten.

Als u bijvoorbeeld het GameBar-proces moet stoppen, moet u eerst de bijbehorende proces-ID vinden. Typ dus:

Get-proces

Deze opdracht toont alle lopende systeemprocessen. Zoek vervolgens de ID die is gekoppeld aan het proces dat u wilt stoppen. Typ het volgende om het proces te stoppen:

Get-proces-ID 20496 | Stop-Proces

Hier -ID 20496 is de ID van het proces (GameBar) dat u wilt stoppen.

3. Start-proces

U kunt de Start-proces cmdlet in PowerShell om een ​​of meer processen op een lokale computer te starten. Typ Start-Proces gevolgd door de procesnaam om de cmdlet te gebruiken. Als u bijvoorbeeld een nieuw Kladblok-proces wilt starten, typt u:

Begin- Verwerk notitieblok 

Bovendien kunt u de parameters van Start-Proces gebruiken om opties te specificeren. Als u bijvoorbeeld een proces als beheerder moet starten, typt u:

Startproces -FilePath "kladblok" -Werkwoord runAs

4. Get-opdracht

De Get-opdracht laat u alle PowerShell-opdrachten bekijken die op uw computer zijn geïnstalleerd. Net als bij Get-Help kunt u de Get-opdracht gebruiken, gevolgd door een zoekopdracht om opdrachten voor een specifieke functie te vinden.

Aangezien het Get-commando alle commando's weergeeft, kunt u parameters specificeren om objecten met een specifieke naam en commandotype te vinden. Als u bijvoorbeeld cmdlets (CommandTypes) wilt zoeken die beginnen met A (Naam), typt u:

Get-Command -Naam A* -CommandType cmdlet

U kunt ook typen Get-Help Get-Command -Voorbeelden om meer voorbeelden te zien.

5. Get-Service

De Get-Service Met cmdlet kunt u de status en lijst met services van uw computer bekijken. Standaard retourneert de opdracht Get-Service alle (gestopte en actieve) services.

U kunt de parameters gebruiken om services op te geven en te zoeken, afhankelijk van hun status, naam en afhankelijke services. Als u bijvoorbeeld alle services wilt bekijken die beginnen met de naam Win, typt u:

Get-service-naam "Winnen*"

6. Get-ChildItem

U kunt PowerShell gebruiken om in mappen te zoeken. De Get-ChildItem commando is een handige cmdlet om naar mappen en bestanden te zoeken en snel op inhoud gebaseerde zoekopdrachten uit te voeren zonder Verkenner te gebruiken.

Om alle mappen op het hoogste niveau in de map C:\ te bekijken, typt u:

Get-ChildItem "C:\"

Gebruik daarnaast de -Pad parameter om een ​​bepaalde map, submappen en inhoud te bekijken. Om bijvoorbeeld alle submappen en bestanden in de map Programs Files te bekijken, typt u:

Get-ChildItem-Path "C:\Program Files"

Gebruik daarnaast de -Verdriet parameter om alle bestanden in de opgegeven map en de -Naam parameter om itemnamen in een directory te bekijken.

Get-ChildItem-Path "C:\Program Files\Fodler_Naam" -Recursie | Selecteer Volledige naam

Vervang in het bovenstaande commando submap met de mapnaam om de inhoud ervan te bekijken.

7. Kopieer-item

De Kopieer-item Met cmdlet kunt u bestanden en mappen en hun inhoud naar een andere map kopiëren en plakken. Typ om bestanden en mappen te kopiëren Kopieer-item gevolgd door de bron -Pad, -Bestemming parameter en bestemmingsadres. Bijvoorbeeld om te kopiëren E:\Map1 en de inhoud ervan E:\Map2, typ:

Kopieer-item "E:\Map1" -Bestemming "E:\Map2" -Recursie

Merk op dat de -Recursie parameter in de bovenstaande opdracht is verantwoordelijk voor het verplaatsen van alle mapinhoud. Zonder dit kopieert PowerShell alleen de map op het hoogste niveau (Folder1) en de bestanden die in de opdracht zijn opgegeven.

8. Item verplaatsen

Op dezelfde manier kunt u voor het verplaatsen van een item de Item verplaatsen cmdlet. Om bijvoorbeeld de map, bestanden, submappen en alle inhoud naar de door u opgegeven bestemming te verplaatsen, typt u:

Item-pad verplaatsen "E:\Map1" -Bestemming "E:\Map2"

9. Verwijder voorwerp

De Verwijder voorwerp Met cmdlet kunt u bestanden, mappen, functies en andere gegevenstypen uit de opgegeven map verwijderen. Als u bijvoorbeeld het bestand Test.txt in de map E:\Folder1 wilt verwijderen, typt u:

Verwijder voorwerpE:\Map1\Test.tekst

10. Inhoud krijgen

De Inhoud krijgen Met cmdlet kunt u de inhoud van een item bekijken zonder een teksteditor te gebruiken. Om bijvoorbeeld de inhoud van het bestand Test.txt op te halen, typt u:

Inhoud krijgen "E:\Folder1\Test.txt"

U kunt de lengte van de te bekijken inhoud verder specificeren met behulp van de -Totaal parameter.

11. Duidelijke inhoud

U kunt de Duidelijke inhoud cmdlet om de inhoud van een opgegeven bestand te verwijderen zonder het bestand zelf te verwijderen. Handig voor taakautomatisering waarbij u een hardgecodeerde bestandsnaam heeft, maar elke keer dat het script wordt uitgevoerd een schoon bestand wilt hebben.

Om de opdracht te testen, maakt u een tekstbestand met wat inhoud erin. Typ vervolgens:

Clear-Content -Path "E:\Folder1\Test1.txt"

Hiermee wordt de inhoud van het bestand verwijderd zonder het bestand te verwijderen.

12. Set-uitvoeringsbeleid

Het standaarduitvoeringsbeleid in PowerShell is ingesteld op Beperkt. Dit voorkomt de uitvoering van kwaadaardige scripts in de PowerShell-omgeving. Wanneer u echter een lokaal PowerShell-script uitvoert, kan het zijn dat het uitvoeringsscript is uitgeschakeld voor deze systeemfout.

De Set-uitvoeringsbeleid Met cmdlets kunt u de beveiligingsniveaus voor scriptuitvoering wijzigen. Om uw huidige uitvoeringsbeleid te kennen, typt u:

Get-uitvoeringsbeleid

Als u een niet-ondertekend script moet uitvoeren, typt u in een verhoogde PowerShell-prompt:

Set-ExecutionPolicy RemoteSigned

Andere geldige Set-ExecutionPolicy-waarden omvatten Beperkt, AllSigned, En Onbeperkt.

13. Set-locatie

Standaard gebruikt PowerShell C:\Gebruikers\Gebruikersnaam als de standaard werkmap. De Set-locatie Met cmdlet kunt u de huidige werkmap instellen op een opgegeven locatie. Handig als u een script of opdracht vanaf een specifieke locatie wilt uitvoeren zonder dat u telkens het pad hoeft op te geven.

Bijvoorbeeld om in te stellen C:\Gebruikers\Gebruikersnaam\Documenten typ als de huidige werkdirectory:

Set-locatie "C:\Gebruikers\gebruikersnaam\Documenten"

Dit is een tijdelijke maatregel omdat PowerShell de werkmap na het opnieuw opstarten terugzet naar de standaardmap.

14. Exporteren-CSV

Als u PowerShell-uitvoer op een meer georganiseerde manier wilt exporteren en presenteren, kunt u de Exporteren-CSV cmdlet. Het neemt het uitvoerbestand voor de opgegeven opdracht en converteert het naar een CSV-bestand.

Probeer de volgende opdracht om de opdracht te testen:

Get-proces | Export-CSV PSproces.csv

De bovenstaande opdracht maakt een psporcess.csv bestand met alle gegevens van de actieve processen.

15. Converteren naar HTML

Als u liever een HTML-rapport maakt, kunt u de Converteren naar HTML Cmdlet. Typ het volgende om een ​​HTML-rapport te maken voor alle lopende processen op uw pc:

Get-proces | Converteren naar HTML > PSproces.html

In het bovenstaande commando, pprocessen is de naam van het exportbestand, en HTML is de extensie. U hebt toegang tot het geëxporteerde HTML-bestand in de huidige werkdirectory in C:\Users\gebruikersnaam.

16. Get-Geschiedenis

U kunt de Op neer pijltjestoets om door de recent uitgevoerde opdrachten in PowerShell te bladeren. Om echter een lijst te bekijken van alle recentelijk uitgevoerde opdrachten in uw huidige sessie, kunt u de Get-Geschiedenis cmdlet.

Het toont een lijst met alle recent uitgevoerde opdrachten met hun ID. Handig als u de volledige context van de eerder uitgevoerde opdrachten wilt bekijken. Typ hiervoor:

Get-Geschiedenis-ID | fl

Om bijvoorbeeld de uitvoeringsdetails zoals status, begin- en eindtijd en duur van de derde opdracht te bekijken, typt u:

krijgen-geschiedenis 3 | fl, 

Typ het volgende om een ​​opdracht uit de lijst opnieuw uit te voeren:

Invoke-History gevolgd door de commando ID kaart

Bijvoorbeeld, type Invoke-Geschiedenis 3 om een ​​eerder uitgevoerde opdracht opnieuw uit te voeren zonder deze opnieuw te typen.

Bovendien gebruiken Geschiedenis wissen om de geschiedenis voor de huidige sessie te wissen.

Nu je een basisidee hebt van PowerShell-commando's, ga je gang en verken je onze gids over het beste PowerShell-cmdlets om uw Windows-beheerdersvaardigheden te verbeteren. Hier kunt u leren werken met gegevens met behulp van cmdlets, tabellen en lijsten opmaken, en een snel overzicht van de opdracht Get-Member.

PowerShell-opdrachten om uw taken te stroomlijnen

PowerShell staat bekend om zijn automatiseringsmogelijkheden. Dit kan u helpen honderden activiteiten in uw ontwikkelingswerk te automatiseren om tijd te besparen en de productiviteit te verbeteren.

Hoewel we alleen de basiscommando's hebben behandeld, kunt u proberen de syntaxis, alias en variabelen, functies die beschikbaar zijn voor veel van deze commando's, te verkennen om deze zeer efficiënte scripttaal onder de knie te krijgen.