20 Windows PowerShell-opdrachten die u moet kennen
Windows PowerShell is de nieuwe commandoregel-shell krachtiger en leesbaarder dan opdrachtprompt. In mijn drie jaar ervaring met het gebruik ervan, vond ik het heel nuttig, vooral als je zin hebt taken voor automatisering of scripting. De meesten van ons weten het echter niet of gebruiken het liever niet in plaats van de oude opdrachtregel.
In deze post ga ik delen nuttige maar toch eenvoudige commando's (met voorbeelden) van Windows PowerShell. U kunt deze opdrachten gebruiken om verschillende taken uit te voeren - van hulp krijgen tot startprocessen. Zullen we beginnen?
Notitie: Windows PowerShell is gebouwd met achterwaartse compatibiliteit in gedachten, en ondersteunt zo veel opdrachten van de opdrachtprompt. Dat gezegd hebbende, kunt u de oude opdrachten blijven gebruiken in de nieuwe, kleurrijke interface.
Get-Help [help]
Als u PowerShell nog niet eerder hebt gebruikt, kunt u problemen tegenkomen; en in dergelijke situaties wordt Get-Help je redder. Het zorgt voor noodzakelijke informatie over cmdlets, commando's, functies, scripts en workflows van de PowerShell.
Bovendien is het eenvoudig: je moet typen Krijg hulp
gevolgd door het commando, waarvan je de details zoekt. U kunt bijvoorbeeld informatie krijgen over “Get-Process” gebruik makend van Get-Help Get-Process
.
Get-Command [gcm]
Windows PowerShell maakt het mogelijk om de commando's en functies te ontdekken met Get-Command. Het geeft de lijst weer van opdrachten van een specifieke functie of voor een specifiek doel op basis van uw zoekparameter.
Je hoeft alleen maar te typen Get-Command
gevolgd door uw zoekopdracht in de PowerShell. Bijvoorbeeld, Get-Command * -service *
geeft opdrachten weer met “-service” in zijn naam. Onthoud alsjeblieft gebruik de asterisken aan beide zijden van uw zoekopdracht omdat het een joker is die helpt zoeken naar het onbekende.
Invoke-Command [icm]
Wanneer je dat wilt voer een commando of een script uit van PowerShell - lokaal of op afstand op één of meerdere computer (s) - “Roep-Command” is jouw vriend. Het is gemakkelijk te gebruiken en helpt u om computers met batchverwerking te beheren.
Je moet typen Roep-Command
gevolgd door de opdracht of het script met het volledige pad. U kunt bijvoorbeeld voer een commando uit “Get-EventLog” gebruik makend van Invoke-Command -ScriptBlock Get-EventLog-systeem-Nieuwste 50
of op een externe computer “Server01” gebruik makend van Invoke-Command -ScriptBlock Get-EventLog-systeem-Nieuwste 50 -ComputerName Server01
.
Invoke-Expression [iex]
Invoke-Expression voert een ander commando of uitdrukking uit. Als u een expressie of een tekenreeks als invoer opgeeft, evalueert deze opdracht deze eerst en voert deze vervolgens uit, maar werkt ook alleen lokaal, in tegenstelling tot de vorige opdracht.
Je moet typen Invoke-Expression
gevolgd door een commando of een uitdrukking. U kunt bijvoorbeeld een variabele toewijzen “$ Command” met een string die het commando vertelt “Get-Process”. Wanneer je rent Invoke-Expression $ Command
, “Get-Process” wordt uitgevoerd als een opdracht op uw lokale computer.
Invoke-WebRequest [iwr]
Jij kan downloaden, inloggen en schaven voor informatie op websites en webservices tijdens het werken op Windows PowerShell met behulp van de Invoke-WebRequest.
Je moet het gebruiken zoals Roep-WebRequest
gevolgd door zijn parameters. U kunt bijvoorbeeld de koppelingen op een bepaalde webpagina krijgen door de opdracht als te gebruiken (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Hoewel er scripts worden gemaakt en uitgevoerd (met extensie “ps1”) in Windows PowerShell is mogelijk; er zijn echter beperkingen voor beveiligingsdoeleinden. Maar je kan schakel het beveiligingsniveau met de opdracht Set-ExecutionPolicy.
Jij kan typen Set-ExecutionPolicy
gevolgd door een van de vier beveiligingsniveaus - Beperkt, Remote Signed, All Signed of Unrestricted om de opdracht te gebruiken. U kunt bijvoorbeeld de beperkte beleidsstatus toewijzen met Set-ExecutionPolicy -ExecutionPolicy Restricted
.
Get-Item [gi]
Als u op zoek bent naar informatie over een item op elke locatie, zeg een bestand op uw harde schijf, Get-Item is de beste manier om het in Windows PowerShell te verkrijgen. Dat moet je weten het krijgt de inhoud van het item niet, zoals bestanden en submappen in een bepaalde map, tenzij expliciet door u aangegeven.
Je moet typen Get-Punt
gevolgd door een pad of een string, samen met de bijbehorende parameters. U kunt bijvoorbeeld alle items (bestanden of mappen) krijgen die beginnen met “M” in de huidige map met Get-Item M *
. Samen met de inhoud van mappen, kan het ook de inhoud van registersleutels krijgen.
Copy-Item [kopie]
Als je moet bestanden en mappen kopiëren op uw opslagschijf of registervermeldingen en sleutels in het register, kunt u Copy-Item gebruiken. Het functioneert vergelijkbaar met de “cp” opdracht die we hebben in de opdrachtprompt, maar het is veel beter.
U kunt gebruik maken van Copy-Punt
commando om kopieer en hernoem items in dezelfde opdracht ook - geef een nieuwe naam als bestemming. U kunt bijvoorbeeld kopiëren en hernoemen “Services.htm” naar “MyServices.txt” gebruik makend van Copy-Item "C: \ Services.htm" -Destination "C: \ MyData \ MyServices.txt"
.
Remove-Item [del]
Als je dat wenst om items te verwijderen zoals bestanden, mappen, functies en registersleutels en variabelen, Remove-Item is het commando voor u. Wat ik interessant vond, is dat het parameters biedt om items op te nemen en uit te sluiten.
U kunt gebruik maken van Verwijder voorwerp
commando om verwijder items van specifieke locaties met behulp van parameters. U kunt bijvoorbeeld het bestand verwijderen “MyServices.txt” met het commando Remove-Item "C: \ MyData \ MyServices.txt"
.
Get-Content [cat]
Wanneer u de inhoud van een tekstbestand op een specifieke locatie moet bekijken, opent en leest u het in een code / teksteditor zoals Notepad ++. In Windows PowerShell kunt u Get-Content gebruiken voor haal de inhoud op zonder het bestand te openen.
U kunt bijvoorbeeld 50 inhoudslijnen ophalen van “Services.htm”, dan kan je gebruiken Get-Content "C: \ Services.htm" -TotalCount 50
.
Set-inhoud [sc]
U kunt tekst opslaan in bestanden met behulp van Set-Content, vergelijkbaar met de “echo” beheersing van de Bash Shell. In combinatie met de Get-Content kun je dat ook haal de inhoud van het ene bestand op en kopieer het naar een ander bestand met deze opdracht.
U kunt bijvoorbeeld typen Set-Content
naar schrijf of vervang de inhoud van een bestand met nieuwe inhoud. Bovendien kun je het verenigen met het voorbeeld van de vorige opdracht om de uitvoer op te slaan in een nieuw bestand met de naam “sample.txt” gebruik makend van Get-Content "C: \ Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.
Get-Variable [gv]
Als u variabelen in Windows PowerShell wilt gebruiken, helpt de opdracht Get-Variable u om dit te doen visualiseer de waarden van variabelen. Het toont ze in een tabelvorm en maakt het mogelijk jokertekens op te nemen, uit te sluiten en te gebruiken.
U kunt deze opdracht gebruiken door te typen Get-Variable
gevolgd door zijn opties en parameters. U kunt bijvoorbeeld de waarde voor een variabele met de naam ophalen “desc” met behulp van de volgende code: Get-Variable -Name "desc"
.
Set-Variable [set]
Jij kan toewijzen of wijzigen / resetten van de waarde van een variabele met behulp van de opdracht Set-Variable. Als een snelkoppeling kunt u ook een eenvoudige variabele instellen met behulp van het formaat $ $ VarName = VarValue $, zoals $ desc = "Een beschrijving"
.
U kunt de opdracht gebruiken Set-Variable
gevolgd door zijn parameters om een variabele in te stellen. We kunnen bijvoorbeeld de waarde voor een variabele met de naam instellen “desc” gebruik van het commando Set-Variable -Name "desc" -Value "A Description"
.
Get-Process [gps]
We gebruiken meestal Taakbeheer om zoek de lopende processen op onze computer. In Windows PowerShell kan iedereen Get-Process gebruiken om de lijst met momenteel lopende processen op te halen, die u ook verder kunt verwerken.
U kunt de opdracht als schrijven Get-Process
samen met uw zoekopdracht. Als u bijvoorbeeld informatie over de processen nodig heeft “onderzoeken” in hun naam kunt u typen Get-Process * verken *
(let op de sterretjes).
Start-proces [saps]
Windows PowerShell maakt het gemakkelijk om start een of meer processen op jouw computer. Ik vond dat dit commando handig is in scripting-apps, omdat het een van de must-have-commando's is die je nodig hebt om een taak te automatiseren.
Jij kan typen Start-Process
gevolgd door zijn parameters om de opdracht te gebruiken. U kunt bijvoorbeeld Kladblok starten door te typen Start-Process -FilePath "notepad" -Verb runAs
in de Windows PowerShell.
Stop-proces [kill]
Jij kan stop specifieke of alle exemplaren van een proces dat wordt uitgevoerd op uw computer met behulp van de naam of PID (Process ID), dankzij het commando Stop-Process. Wat het aantrekkelijk maakt, is dat je kunt detecteren dat een proces is gestopt of niet en je kunt zelfs de processen stoppen die niet het eigendom zijn van of gestart zijn door de huidige gebruiker.
U kunt de opdracht typen Stop-proces
gevolgd door zijn parameters om de gegeven processen te stoppen. U kunt bijvoorbeeld alle processen van Kladblok stoppen met behulp van de opdracht Stop-Process -Name "notepad"
.
Get-Service [gsv]
Wanneer je nodig hebt informatie over specifieke diensten (actief of gestopt) op uw computer, kunt u Get-Service gebruiken. Het toont de services die in uw systeem zijn geïnstalleerd en biedt opties voor filteren en opnemen en uitsluiten.
Als u deze opdracht wilt gebruiken, kunt u typen Get-service
gevolgd door zijn parameters. Typ bijvoorbeeld het volgende Get-Service | Where-Object $ _. Status -eq "Actief"
om de services te krijgen “lopend” op uw systeem.
Start-Service [sasv]
Als je dat wilt start een dienst op uw computer kan de opdracht Start-Service u helpen hetzelfde te doen vanuit Windows PowerShell. Ik vond dat het krachtig genoeg is om een service te starten, zelfs als die service is uitgeschakeld op uw computer.
U moet de naam van de service opgeven tijdens het gebruik van de opdracht Start dienst
. Bijvoorbeeld, Start-Service -Name "WSearch"
start de service “Windows Zoeken” op uw lokale computer.
Stop-Service [spsv]
Als je dat wilt stop services draaien op uw computer is de opdracht Stop-Service nuttig. U moet de naam van de service opgeven, samen met Stop service
. Typ bijvoorbeeld Stop-Service -Name "WSearch"
om de service te stoppen “Windows Zoeken” op jouw computer.
ConvertTo-HTML
PowerShell biedt verbazingwekkende informatie over uw systeem. Het wordt echter meestal gepresenteerd in een onverteerbaar formaat, maar u kunt ConvertTo-HTML gebruiken om maak en formatteer een rapport om het te analyseren of naar iemand te sturen.
Je kunt gebruiken ConvertTo-HTML
samen met de uitvoer van een andere opdracht met behulp van piping. Bijvoorbeeld Get-Service | ConvertTo-HTML -eigenschap Naam, Status> C: \ Services.htm
toont de lijst met alle services en hun status in de vorm van een webrapport, dat in het bestand wordt opgeslagen “Services.htm”.
Dat is alles over de essentiële commando's .