20 Windows PowerShell-opdrachten die u moet kennen
Windows PowerShell is de nieuwe shell van de opdrachtregel, die krachtiger en sneller scriptbaar is dan de opdrachtprompt. In mijn drie jaar ervaring met het gebruik ervan, vond ik het erg handig, vooral als je bezig bent met het automatiseren of scripten van taken . De meesten van ons weten het echter niet of gebruiken het liever niet in plaats van de oude command-line shell.
In dit bericht ga ik bruikbare maar toch eenvoudige commando's (met voorbeelden) van Windows PowerShell delen. U kunt deze opdrachten gebruiken om verschillende taken uit te voeren - van hulp krijgen tot startprocessen. Zullen we beginnen?
Opmerking: Windows PowerShell is gebouwd met achterwaartse compatibiliteit in het achterhoofd en ondersteunt dus 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 biedt de nodige informatie over cmdlets, opdrachten, functies, scripts en workflows van de PowerShell.
Bovendien is het eenvoudig: je moet Get-Help
typen gevolgd door het commando, waarvan je de details zoekt. U kunt bijvoorbeeld informatie krijgen over "Get-Process" met Get-Help Get-Process
.
Windows PowerShell maakt het mogelijk om de commando's en functies te ontdekken met behulp van Get-Command. Het toont de lijst met opdrachten van een specifieke functie of voor een specifiek doel op basis van uw zoekparameter.
U hoeft alleen maar Get-Command
gevolgd door uw zoekopdracht in de PowerShell. Get-Command *-service*
geeft bijvoorbeeld opdrachten weer met "-service" in de naam. Vergeet niet om de asterisken aan beide zijden van uw zoekopdracht te gebruiken, omdat het een joker is die helpt bij het zoeken naar het onbekende.
Wanneer u een opdracht of een script van PowerShell wilt uitvoeren - lokaal of op afstand op één of meerdere computer (s) - is "Invoke-Command" uw vriend. Het is gemakkelijk te gebruiken en helpt u om computers met batchverwerking te beheren.
Je moet Invoke-Command
typen gevolgd door de opdracht of het script met het volledige pad. U kunt bijvoorbeeld een opdracht "Get-EventLog" uitvoeren met behulp van Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50}
of op een externe computer "Server01" met behulp van Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01
.
Invoke-Expression voert een ander commando of expressie 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 Invoke-Expression
typen gevolgd door een commando of een expressie. U kunt bijvoorbeeld een variabele "$ Command" toewijzen met een tekenreeks met het commando "Get-Process". Wanneer u Invoke-Expression $Command
uitvoert, wordt "Get-Process" uitgevoerd als een opdracht op uw lokale computer.
U kunt downloaden, inloggen en schaven voor informatie over websites en webservices terwijl u werkt op Windows PowerShell met behulp van de Invoke-WebRequest.
Je moet het gebruiken zoals Invoke-WebRequest
gevolgd door zijn parameters. U kunt bijvoorbeeld de koppelingen op een bepaalde webpagina krijgen door de opdracht as (Invoke-WebRequest -Uri "https://docs.microsoft.com").Links.Href
.
Hoewel het maken en uitvoeren van scripts (met extensie "ps1") in Windows PowerShell mogelijk is; er zijn echter beperkingen voor beveiligingsdoeleinden. Maar u kunt het beveiligingsniveau wijzigen met behulp van de opdracht Set-ExecutionPolicy.
U kunt Set-ExecutionPolicy
typen 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
.
Als u informatie over een item op een bepaalde locatie zoekt, zegt u een bestand op uw harde schijf, Get-Item is de beste manier om het in Windows PowerShell te verkrijgen. U moet weten dat de inhoud van het item, zoals bestanden en submappen, niet in een bepaalde map wordt vermeld, tenzij u dit uitdrukkelijk hebt opgegeven.
Je moet Get-Item
typen gevolgd door een pad of een string, samen met zijn parameters, indien aanwezig. U kunt bijvoorbeeld alle items (bestanden of mappen) die beginnen met "M" in de huidige map ophalen met Get-Item M*
. Samen met de inhoud van mappen, kan het ook de inhoud van registersleutels krijgen.
Als u bestanden en mappen op uw opslagschijf of registervermeldingen en sleutels in het register wilt kopiëren, kunt u Copy-Item gebruiken. Het functioneert hetzelfde als het "cp" commando dat we hebben in de Command Prompt, maar het is veel beter.
U kunt ook de opdracht Copy-Item
gebruiken om items in dezelfde opdracht ook te kopiëren en te hernoemen . Geef een nieuwe naam als bestemming. U kunt bijvoorbeeld "Services.htm" naar "MyServices.txt" kopiëren en hernoemen met Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt"
.
Remove-Item [del]
Als u items zoals bestanden, mappen, functies en registersleutels en variabelen wilt verwijderen, is Remove-Item de opdracht 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 de opdracht Remove-Item
om items van specifieke locaties te verwijderen met behulp van parameters . U kunt bijvoorbeeld het bestand "MyServices.txt" verwijderen met de opdracht 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 om de inhoud op te halen zonder het bestand te openen.
U kunt bijvoorbeeld 50 inhoudsregels ophalen van "Services.htm", waarna u Get-Content "C:\Services.htm" -TotalCount 50
.
Set-inhoud [sc]
U kunt tekst opslaan in bestanden met Set-Content, vergelijkbaar met de opdracht "echo" van de Bash Shell. In combinatie met de Get-Content kunt u ook de inhoud van één bestand ophalen en naar een ander bestand kopiëren met behulp van deze opdracht.
U kunt bijvoorbeeld Set-Content
typen om de inhoud van een bestand met nieuwe inhoud te schrijven of te vervangen . Bovendien kunt u het verenigen met het voorbeeld van de vorige opdracht om de uitvoer op te slaan in een nieuw bestand met de naam "Sample.txt" met Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.
Als u variabelen in Windows PowerShell wilt gebruiken, kunt u met de opdracht Get-Variable de waarden van variabelen visualiseren . 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 Get-Variable
gevolgd door de opties en parameters. U kunt bijvoorbeeld de waarde voor een variabele met de naam "desc" ophalen met behulp van de volgende code: Get-Variable -Name "desc"
.
Set-Variable [set]
U kunt de waarde van een variabele toewijzen of wijzigen / resetten 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 = "A Description"
.
U kunt de opdracht Set-Variable
gevolgd door de parameters om een variabele in te stellen. We kunnen bijvoorbeeld de waarde voor een variabele met de naam "desc" instellen met behulp van de opdracht Set-Variable -Name "desc" -Value "A Description"
.
We gebruiken Taakbeheer meestal om de lopende processen op onze computer te vinden. 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 samen met uw zoekopdracht als Get-Process
schrijven. Als u bijvoorbeeld informatie over de processen met "verkennen" in hun naam nodig hebt, typt u Get-Process *explore*
(let op de sterretjes).
Start-proces [sappen]
Met Windows PowerShell kunt u gemakkelijk een of meer processen op uw computer starten . 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.
U kunt Start-Process
typen gevolgd door zijn parameters om de opdracht te gebruiken. U kunt bijvoorbeeld Kladblok starten door Start-Process -FilePath "notepad" -Verb runAs
in Windows PowerShell.
U kunt specifieke of alle exemplaren van een proces op uw computer stoppen 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 Stop-Process
typen gevolgd door de bijbehorende parameters om de opgegeven processen te stoppen. U kunt bijvoorbeeld alle processen van Notepad stoppen met de opdracht Stop-Process -Name "notepad"
.
Get-Service [gsv]
Wanneer u informatie over specifieke services (actief of gestopt) op uw computer nodig heeft, 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, typt u Get-Service
gevolgd door zijn parameters. Typ bijvoorbeeld de volgende Get-Service | Where-Object {$_.Status -eq "Running"}
Get-Service | Where-Object {$_.Status -eq "Running"}
om de services "actief" op uw systeem te krijgen.
Als u een service op uw computer wilt starten, 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-Service
. Start-Service -Name "WSearch"
start bijvoorbeeld de service "Windows Search" op uw lokale computer.
Stop-Service [spsv]
Als u de services op uw computer wilt stoppen, is de opdracht Stop-Service nuttig. U moet de naam van de service samen met Stop-Service
opgeven. Typ bijvoorbeeld Stop-Service -Name "WSearch"
om de service "Windows Search" op uw computer te stoppen.
PowerShell biedt verbazingwekkende informatie over uw systeem. Het wordt echter meestal gepresenteerd in een onverteerbaar formaat, maar u kunt ConvertTo-HTML gebruiken om een rapport te maken en op te maken om het te analyseren of naar iemand te verzenden.
U kunt ConvertTo-HTML
samen met de uitvoer van een andere opdracht met behulp van piping. Bijvoorbeeld Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm
Get-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm
toont de lijst van alle services en hun status in de vorm van een webrapport, dat is opgeslagen in het bestand "Services.htm".
Freebie: Infographic bannerelementen
Als je graag infographics maakt, ben je misschien onze eerder gepubliceerde ultieme infographic resourcekits voor ontwerperspost tegengekomen. Deze post bevat heel veel GUI-kits, elementen, interface-functies, grafische en pictogrammensets en meer.In deze nieuwe freebie-release hebben we een nieuwe bundel om aan die resourcepaal toe te voegen
20+ Sports-gerelateerde freebies om te ontwerpen voor de Olympische Spelen
De Olympische Spelen van 2016 worden gehouden in Rio de Janeiro, Brazilië en opnieuw komen deelnemers van over de hele wereld samen en proberen elkaar het best te doen in een verscheidenheid aan Olympische evenementen die het uithoudingsvermogen, uithoudingsvermogen, vaardigheden en sportiviteit van atleten zullen testen.