Windows PowerShell
Mi a PowerShell? Új Windows parancssor, melyet rendszer- adminisztrátorok számára terveztek. Ingyenes. A.NET FrameWork 2.0-s verzióján alapul. Objektum-orientált.
Első találkozás Indítása. Case Insensitive. Előző, következő sor szerkesztése. Tab, Shift-Tab használata, Vágólap használata.
Cmdlet A korábbi shellekben megszokott parancsok neve cmdlet. Cls Get-Help Get-Help * Get-Help s* Get-Help *q* Get-help foreach Get-Help foreach -detail
Kimenet, konverziók Get-Help >\Help.txt Get-Help | Out-File C:\Help2.txt Get-Help | Export-Csv C:\Csv1.csv Get-Help | Export-CliXML C:\Xml1.xml Get-Service | ConvertTo-Html >C:\html1.html
Write-Host Egyszerű kiíró cmdlet. Write-Host „Vörös és Fekete” – foregroundcolor black –backgroundcolor red
Get-Process A futó processzek listázása Get-Process explorer Get-Process explorer | format-list PS C:\pws> get-process Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName , AcroRd , alg , ati2evxx , ati2evxx , ctfmon , csrss
Get-Service A háttérfolyamatok megjelenítésére szolgál PS C:\pws> get-service Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName , AcroRd , alg , ati2evxx , ati2evxx , ctfmon , csrss
Sort-Object Az objektumok rendezésére szolgál Get-Process | Sort-Object ProcessName Get-Process | Sort-Object CPU –descending
A bementen megjelenő objektumok szűrése -eq, -ne, -gt, -ge, -lt, -le, -like stb. PS C:\pws> Get-Process | Where-Object { $_.Processname -eq "explorer" } Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName , explorer PS C:\pws> Get-Process | Where-Object { $_.CPU -gt 10 } Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName , AcroRd , csrss , explorer , firefox , iexplore Where-Object Hivatkozás egy tulajdonságr a
Select-Object Meghatározott tulajdonságok kiválasztása PS C:\pws> Get-Process | Select-Object ProcessName, CPU ProcessName CPU AcroRd32 93, alg 0, ati2evxx 0,53125 ati2evxx 2,0625 ctfmon 0, csrss 39,53125 PS C:\pws> Get-Process | Select-Object ProcessName, CPU -first 3 ProcessName CPU AcroRd32 93, alg 0, ati2evxx 0,53125
ForEach-Object Az bemenet objektumainak egyenkénti feldolgozása PS C:\pws> Get-Process | Select-Object ProcessName, CPU | ForEach-Object { Write-host $_.ProcessName } AcroRd32 alg ati2evxx ctfmon csrss devldr32 explorer firefox hpgs2wnd
Elágazás: if – elif – else A megszokott szintaxissal. PS C:\pws> Get-Process | Select-Object ProcessName, CPU | ForEach-Object { if ( $_.ProcessName -eq "explorer") { Write-host $_.CPU $_.ProcessName } 120, explorer
Változók A változók $ jellel kezdődnek. $a=„Alma” (+,*) $c=3; (+,-,*,/,%) $a – replace „A”,”B” PS C:\pws> $szin=„blue” ; Write-Host –foregroundcolor $szin „Hello” Hello
Futtatás A szkriptek kiterjesztése ps1 Futtatása a név begépelésével történik. Policy: Get-ExecutionPolicy, Set-ExecutionPolicy Services.ps1: Get-Service | ForEach-Object { if ( $_.Status -eq "Running" ) { $szin="red" } else { $szin="green" } write-host -foreground $szin $_.DisplayName }
EventLog Get-Eventlog –List Get-Eventlog system Get-Eventlog system –newest 1 Get-Eventlog system –newest 1 | format-list Get-EventLog System | ForEach-object { if ( $_.Source -eq "Windows Update Agent" ) { Write-Host $_.Message }
Gyakorlatban Jelenítsük meg a háttérfolyamatok listáját a böngészőben! Get-Service | ConvertTo-Html -Property Status,DisplayName | ForEach-Object { Write-Host $_ if ( $_ -like "* Running *" ) { $_ -replace " ", " „ } else { $_ -replace " ", " „ } } | Out-File C:\processes.html
Fájlrendszer Get-psdrive Dir, Cd (alias példa) New-Item Remove-Item
PSDrive New-Psdrive –name FK –psprovider FileSystem –root c:\temp Cd FK: Remove-PsDrive FK