Sobivate PowerS­hell-käskude ka­su­ta­mine võimaldab mooduleid täpselt rakendada. Neid hästi struk­tu­ree­ri­tud cmdlet’eid saab va­li­ku­liste pa­ra­meet­rite abil veelgi täpsemalt kohandada. Tut­vus­tame 40 kõige olu­li­se­mat PowerS­hell-käsku, et saaksite oma süsteemis või võrgus op­ti­maal­selt töötada.

Mis on PowerS­hell-käsk?

PowerS­hell, mis on eel­ins­tal­li­tud alates Windows 7-st, võimaldab sisestada PowerS­hell-käsklusi, mida Windows seejärel täidab. Lisaks käsurea cmd-käskudele on olemas arvukalt teisi käske ehk cmdlet’eid, mida mõistab ainult PowerS­hell ise. Need cmdlet’id koosnevad te­gu­sõ­nast ja ni­mi­sõ­nast, mida eraldab si­de­kriips. Lisaks saate neid PowerS­hell-käsklusi täiendada va­li­ku­liste pa­ra­meet­ri­tega, mida eraldavad tühikud. PowerS­helli ka­su­lik­kus ulatub kaugemale ad­mi­nist­raa­to­ri­test; see osutub hin­da­ma­tuks ka arenduse vald­kon­nas. Kuna saadaval on hul­ga­li­selt eel­ins­tal­li­tud PowerS­helli käske, tut­vus­tame teile kõige olu­li­se­maid neist.

Kõige olu­li­se­mad PowerS­helli käsud

PowerS­helli käskudega saate vaid mõne käsuga teha ula­tus­likke hal­dus­üles­an­deid. Põ­hi­kä­su­dest, mida tõe­näo­li­selt kõige sa­ge­da­mini kasutate, on need, mis annavad esialgse ülevaate võrgu struk­tuu­rist, loetlevad teisi PowerS­helli käske, aitavad teha olulisi tur­va­sea­dis­tusi ja või­mal­da­vad teha väär­tus­likke analüüse. Siin on mõned kõige olu­li­se­mad PowerS­helli käsud, millega peaksite tutvuma:

1. Get-Module -All

Kõigi im­por­di­tud PowerS­hell-moodulite esialgse ülevaate saamiseks kasutage käsku Get-Module -All.

Get-Module -All
shell

2. Get-Command

Eel­de­fi­nee­ri­tud PowerS­hell-käskusid on rohkesti. Praegu saadaval olevate PowerS­hell-käskude ülevaate saamiseks kasuta lihtsalt käsku Get-Command. See käsk loetleb üle­vaat­li­kult kõik või­ma­li­kud toimingud ja pakub iga vastava cmdleti kohta lühikese selgituse. See kehtib isegi siis, kui oled ins­tal­li­nud li­sa­moo­du­leid.

Get-Command
shell

3. Abi

Eespool kir­jel­da­tud Get-Command-nimekiri annab esialgse ülevaate; ük­sik­as­ja­li­kuma teabe saamiseks käsu ja selle valikute kohta kasutage Get-Help-cmdletit. See käsk avab teie arvutis olevad abifailid ja kuvab kogu kät­te­saa­dava teabe. Selle käi­vi­ta­miseks ühendage Get-Help käsuga, mille süntaksit soovite vaadata.

Get-Help [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Functionality <String[]>] [-Role <String[]>] [-Examples] [<CommonParameters>]
shell

4. Get-Process

Süsteemis hetkel ak­tiiv­seid rakendusi, programme ja protsesse saab kiiresti kont­rol­lida käsuga Get-Process. Kui mää­ra­takse kindel rakendus, kuvatakse selle kohta täien­da­vat teavet.

Get-Process
shell

5. Teenuse hankimine

Käsk Get-Service toimib sarnaselt käsuga Get-Process. Erinevus seisneb selles, et see pakub teavet kõigi ak­tiiv­se­test teenuste kohta. Kui soovite saada teavet konk­reetse teenuse või teenuste konk­reetse ka­te­goo­ria kohta, saate oma päringu hõlpsasti täp­sus­tada.

Get-Service
shell

6. Protsessi peatamine

Protsesse saab peatada ka PowerS­helli käsurealt, kasutades erinevaid käske. Üks võimalus on käsk Stop-Process. Vastava protsessi saab mää­rat­leda nime, ID või muude at­ri­buu­tide abil. Siin on näide:

Stop-Process -Name "processname"
shell
Stop-Process -Id 3582 -Confirm -PassThru
shell

Pa­ra­meet­riga -Confirm küsitakse käsu kinnitust. Pa­ra­mee­ter -PassThru küsib kinnitust peatatud protsessi kohta. Seda ei tehta au­to­maat­selt.

7. ConvertTo-HTML

Prob­leemide või võimalike komp­li­kat­sioo­nide kiireks tu­vas­ta­miseks on selge kuvamine äärmiselt kasulik. Selleks võite kasutada käsku „ConvertTo-HTML“, mis teisendab PowerS­helli käskude väljundi HTML-failiks. See kuvab teabe ka­su­ta­ja­sõb­ra­li­kus vee­ru­vor­min­gus. Käsu struktuur on ta­va­li­selt järgmine:

Get-Command | ConvertTo-Html > c:\temp\AllCommands.html
shell

8. ConvertTo-Xml

Kui vajate konk­reetse objekti XML-põhist esi­tus­viisi, võite toimida sarnaselt. Selleks kasutage käsku ConvertTo-Xml. Järgmises näites tei­sen­date praeguse kuupäeva XML-vor­min­gusse:

Get-Date | ConvertTo-Xml
shell

9. Asukoht-objekt

Käsu Where-Object abil saate cmdleti tulemust filt­ree­rida. Käsu käi­vi­ta­misel saate sageli tu­le­mu­seks palju objekte, mis si­sal­da­vad rohkem teavet, kui teil vaja on. Kasutades Where-Objecti koos toruga, saate kuvada ainult just seda teavet, mida otsite. Näiteks kui soovite vaadata sel aastal loodud või uuendatud teenuseid, saate seda teha järg­mi­selt:

Get-Service | Where-Object { $_.LastWriteTime -gt "01.01.2023" }
shell

10. Ajalugu

Kui soovid kuvada kõik PowerS­helli käsud, mida oled seansi jooksul si­ses­ta­nud, on sobivaks cmdletiks Get-History. Kõigi PowerS­helli käskude ku­va­miseks:

Get-History
shell

Selle mää­rat­lu­sega kut­su­takse välja ainult viimased kümme PowerS­helli käsku:

Get-History -Count 10
shell

11. Ajaloo kus­tu­ta­mine

Samuti saate kustutada kasutatud PowerS­hell-käskude loendi. Kõigi kirjetega kus­tu­ta­miseks kasutage cmdletit Clear-History:

Clear-History
shell

Valitud PowerS­hell-käskude kus­tu­ta­miseks tuleb lihtsalt lisada vastavad pa­ra­meet­rid. Järgmine sisestus eemaldab kõik PowerS­hell-käskud, mis si­sal­da­vad sõna „Help” või lõpevad sõnaga „Syntax”.

Clear-History -Command *Help*, *Syntax
shell

12. Ajalugu lisada

Samuti on võimalik lisada seanssi PowerS­helli käsud. See võimaldab neid hiljem uuesti käivitada. Selleks ka­su­ta­takse käsurea käsud Add-History.

Add-History
shell

13. Väl­jundfail

PowerS­helli käskude väljundi sal­ves­ta­miseks arvutisse kasuta käsurea Out-File. See salvestab PowerS­helli käsud määratud asukohas asuvasse liht­teks­ti­faili.

Get-Process | Out-File -FilePath .\Process.txt
shell

14. Kopeeri objekt

PowerS­hel­lis saate elemente ka kopeerida ja sal­ves­tada koopia teise asukohta. Kasutage käsku „Copy-Item“ ja määrake kataloog, kuhu koopia sal­ves­ta­takse. See toimib järg­mi­selt:

Copy-Item "C:\folder1\file.txt" -Destination "C:\folder2"
shell

15. Get-ChildItem

Käsu Get-ChildItem abil saate hankida objekte ühest või mitmest sal­ves­tus­asu­ko­hast. Kui on olemas ala­m­e­le­men­did, kuvatakse ka need. See käsk näitab vaikimisi atribuute, viimase muudatuse ajamärget, faili suurust ja elemendi nime. Kui sal­ves­tus­asu­koht on tühi, jäetakse väljund välja.

Get-ChildItem -Path C:\example
shell

At­ri­buu­did kuvatakse rea „Režiim” all. Ta­va­li­selt on need järgmised omadused:

  • a (arhiiv)
  • d (kataloog)
  • h (peidetud)
  • l (link)
  • r (ainult lu­ge­miseks)
  • s (süsteem)

16. Set-Aut­hen­tico­de­Sig­na­ture

Failide kaits­miseks saate neile lisada Aut­hen­ticode-allkirja käsuga Set-Aut­hen­tico­de­Sig­na­ture. See toimib aga ainult failide puhul, mis toetavad Subject Interface Package’i (SIP).

$cert=Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert
Set-AuthenticodeSignature -FilePath PsTestInternet2.ps1 -Certificate $cert
shell

17. Invoke-Item

Konk­reet­sele failile seotud stan­dard­toi­mingu soo­ri­ta­miseks on Invoke-Item kõige lihtsam viis. See käsk tagab näiteks, et käi­vi­ta­tav fail käi­vi­ta­takse otse või et dokument avatakse vaikimisi määratud ra­ken­duses. Selles näites avatakse fail vaikimisi Microsoft Wordis:

Invoke-Item "C:\Test\example.doc"
shell

18. Töö käi­vi­ta­mine

Taustatöö käi­vi­ta­miseks oma arvutis võid kasutada selleks et­te­näh­tud käsku. Käsk Start-Job võimaldab sul täita kindlat käsku taustal, ilma et see mõjutaks praegust sessiooni.

Start-Job -ScriptBlock { Get-Process -Name pwsh }
shell

Tee toi­min­guid nende PowerS­helli käskudega

Kuigi varasemad PowerS­helli käsud olid suunatud peamiselt ülevaate andmisele, saate sobivate cmdletite abil teha ka mit­me­su­gu­seid toi­min­guid, suu­ren­da­des seeläbi süsteemi toot­lik­kust. Järgmised PowerS­helli käsud muudavad teie töövoo su­ju­va­maks.

19. Sisu tüh­jen­da­mine

Kui soo­vi­takse kustutada elemendi sisu, säi­li­ta­des samas elemendi enda, on käsk „Clear-Content“ ideaalne valik. Selle ka­su­ta­mise näiteks võib tuua teksti kus­tu­ta­mise do­ku­men­dist, jättes ise faili puu­tu­ma­tuks. Protsess toimub järg­mi­selt:

Clear-Content C:\Temp\example.txt
shell

20. ForEach-Object

Käsk ForEach-Object võimaldab teha toimingut kõigi si­sen­d­ob­jek­tide kogumi ele­men­ti­dega. Selles näites jagame massiivis olevad kolm täisarvu arvuga 10:

10000, 1000, 100 | ForEach-Object -Process {$_/10}
1000
100
10
shell

21. Võrd­lus­ob­jekt

Et vältida erinevate objektide kogumite käsitsi võrd­le­mist, võite kasutada käsurea käsku „Compare-Object “. See käsk koostab aruande, milles on esile toodud kir­je­te­va­he­li­sed eri­ne­vu­sed. Esimene kirje on võrd­lus­ob­jekt ja teine kirje eri­ne­vus­ob­jekt. Võite määrata, milliseid tegureid võrrelda, ning kui seda teavet ei esitata, võr­rel­dakse ainult string-tüüpi tulemusi. Väljund on jagatud oma­dus­teks, mis esinevad ainult võrd­lus­ob­jek­tis (<), ja oma­dus­teks, mis esinevad ainult eri­ne­vuste objektis (>). Selles näites sisaldab fail document1.txt väärtusi Berlin, London ja Paris. Fail document2.txt sisaldab väärtusi Berlin, Vienna ja Amsterdam.

Compare-Object -ReferenceObject (Get-Content -Path C:\Test\Document1.txt) -DifferenceObject (Get-Content -Path C:\Test\Document2.txt)
InputObject	SideIndicator
---------------	-----------------
Wien		==>
Amsterdam	==>
London		<==
Paris		<==
shell

Sisu, mis esineb mõlemas do­ku­men­dis (käes­ole­val juhul „Berliin“), ei kuvata vaikimisi.

22. Uus objekt

Üks ka­su­li­ku­maid PowerS­helli käske on New-Object. Selle käsuga saab luua objekti .NET-raa­mis­ti­kust või COM-ist (Component Object Model). Näiteks kui soovite luua System.Version-objekti, mille konst­ruk­to­riks on string „1.2.3.4“, siis käsk täi­de­takse järg­mi­selt:

New-Object -TypeName System.Version -ArgumentList "1.2.3.4"
shell

23. Valige objekt

Kasutage käsku „Select-Object“, et valida objekt või objektide rühm, millel on teie määratud omadused. Selleks saate määrata järgmised pa­ra­meet­rid:

  • Esimene
  • Viimane
  • Unikaalne
  • Va­he­le­jäta
  • Indeks

Järgmises näites kasutame PowerS­helli käske „Get-Process“ ja „Sort-Object“, et kuvada kolm protsessi, mille mä­lu­ka­su­tus on si­ses­ta­mise hetkel suurim.

Get-Process | Sort-Object -Property WS | Select-Object -Last 3
shell

24. Aliase määramine

Windowsi kiirklah­vid on kasulikud, et toi­min­guid veelgi kiiremini teostada. Ka PowerS­hell pakub seda võimalust. Cmdleti Set-Alias abil saate määrata eri­ne­va­tele PowerS­helli käskudele kiirklahvi. Järgmises näites loome käskule Get-ChildItem praeguse seansi jaoks alias „ci“.

PS> Set-Alias -Name ci -Value Get-ChildItem
PS> Get-Alias -Name ci
shell

25. Set-Location

Töömälu asukoha muut­miseks kasutage käsku Set-Location. Uueks asukohaks võivad olla ka­ta­loo­gid, alam­ka­ta­loo­gid, registri asukohad või tee­nu­se­pak­kuja teed. Järgmises näites määrame prae­gu­seks sal­ves­tus­asu­ko­haks C:-ketta:

PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
shell

26. Paigaldus- ja hool­dus­tee­nus

Käsu Set-Service abil saate teenusega suhelda ning seda käivitada, peatada või pausile panna. Samuti on võimalik muuta teenuse omadusi. Järgmises näites muudame teenuse ku­va­ni­meks „New Worksta­tion” asemel „Old Worksta­tion”.

Set-Service -Name New Workstation -DisplayName "Old Workstation"
shell

27. Ajavööndi määramine

Süsteemi ajavööndi muut­miseks on õige valik käsk Set-TimeZone. Koor­di­nee­ri­tud uni­ver­saalaja sead­miseks uueks süs­tee­mi­ajaks kasuta järgmist käsku:

Set-TimeZone -Id "UTC"
shell

28. Arvuti taas­käi­vi­ta­mine

Saate oma kohaliku või kaug­ar­vuti ope­rat­sioo­ni­süs­teemi taas­käi­vi­tada, kasutades selleks sobivat PowerS­helli käsku Restart-Computer. Seda saab käivitada järg­mi­selt:

Teie arvuti puhul:

Restart-Computer
shell

Teie võrgus olevate valitud arvutite puhul:

Restart-Computer -ComputerName Server01, Server03
shell

29. Teenuse taas­käi­vi­ta­mine

Teenuse pea­ta­miseks ja taas­käi­vi­ta­miseks PowerS­helli käskude abil on sobivaks cmdletiks Restart-Service. Näiteks saate taas­käi­vi­tada kõik teenused, mille nimi algab tähtedega „Net“:

PS C:\> Restart-Service -DisplayName "net*"
shell

30. Tühjenda prügikast

Prü­gi­kasti tuleks re­gu­laar­selt tüh­jen­dada, mida on võimalik teha ka PowerS­helli kaudu. Selleks on käsk Clear-Recyc­le­Bin.

Clear-RecycleBin
shell

31. Get-Com­pu­te­rInfo

Käsku „Get-Com­pu­te­rInfo“ ka­su­ta­takse süsteemi ja ope­rat­sioo­ni­süs­teemi omaduste ku­va­miseks.

Get-ComputerInfo
shell

32. Eseme tei­sal­da­mine

Kui soovite mõnda elementi ühest asukohast teise üle viia, on teie käsutuses mitu PowerS­helli käsku. Kõige sa­ge­da­mini ka­su­ta­takse siiski käsku Move-Item. Selles näites viime faili old.txt C:-kettalt kataloogi D:\Temp ning nimetame selle ümber failiks new.txt.

Move-Item -Path C:\old.txt -Destination D:\Temp\new.txt
shell

Jälgimine ja veaotsing sobivate PowerS­hell-käskudega

PowerS­helli käsud, mis või­mal­da­vad süsteemi jälgimist ja kont­rol­li­mist, on äärmiselt väär­tus­li­kud, eriti uue võrgu jõudluse tes­ti­misel reaal­se­tes tin­gi­mus­tes. Järgmised PowerS­helli käsud on selleks ots­tar­beks eriti kasulikud.

33. Veapa­ran­dus­prot­sess

Veapa­ran­dus on oluline protsess, mis tagab, et kõik seaded ja prot­ses­sid töötaksid veatult. Selleks tuleb alla laadida ja sea­dis­tada sobivad veapa­ran­dus­prog­ram­mid. Kui see on tehtud, kasuta käsku „Debug-Process “. Järgmises näites kasutame veapa­ran­dus­prog­rammi Explo­re­rile:

PS C:\> Debug-Process -Name "Explorer"
shell

Mitme protsessi sa­ma­aeg­seks si­lu­miseks eraldage need lihtsalt komadega.

34. Enable-PS­B­reak­point

Teatud kat­kes­tus­punk­tide ak­ti­vee­ri­miseks kasuta käsku Enable-PS­B­reak­point. See seab cmdleti väär­tu­seks teh­ni­li­sest sei­su­ko­hast „true”. Kasuta neid PowerS­helli käske, et ak­ti­vee­rida kõik kat­kes­tus­punk­tid praeguses ses­sioo­nis:

Get-PSBreakpoint | Enable-PSBreakpoint
shell

Kasuta seda käsku, et ak­ti­vee­rida kat­kes­tus­punkte nende ID järgi:

Enable-PSBreakpoint -ID 0, 3, 4
shell

35. PS­B­reak­pointi keelamine

PowerS­helli kat­kes­tus­punk­tide uuesti deak­ti­vee­ri­miseks on sobivaks käsuks Disable-PS­B­reak­point. Teh­ni­li­selt öeldes seatakse käsu Enable-PS­B­reak­point väär­tu­seks „false“. ID-ga 0 kat­kes­tus­punkti deak­ti­vee­ri­miseks sisestage järgmine käsk:

Disable-PSBreakpoint -Id 0
shell

36. Get-Counter

Windows-seadmete puhul saate nende jõud­lusand­meid hankida PowerS­helli abil. Selle ülesande jaoks sobiv käsk on Get-Counter, mida saab kasutada nii kohaliku arvuti kui ka kaug­ar­vu­tite puhul. Järgmises näites hangime andmeid ko­ha­li­kust arvutist:

Get-Counter -ListSet *
shell

37. Käivita-Uinu

Skripti või seansi peatamine võib olla äärmiselt oluline, eriti süsteemi üle­koor­muse korral. PowerS­hell pakub selleks käsku Start-Sleep, mis võimaldab määrata, kui kauaks tegevus pea­ta­takse. Järgmises näites pea­ta­takse täitmine kaheks sekundiks:

Start-Sleep -Seconds 2
shell

38. Test-Path

Kasutage käsku Test-Path, et kont­rol­lida, kas konk­reetse tee kõik elemendid on olemas. Või­ma­li­kud tulemused on „True“ või „False“.

Test-Path -Path "C:\Documents and Settings\user"
False
shell

39. Ühenduse kont­rol­li­mine

Võite oma võrgu ühen­du­vust hinnata ka PowerS­helli abil. Selleks saa­de­takse käsu „Test-Con­nec­tion“ abil ICMP-kaja-pä­rin­gu­pa­kette kind­laks­mää­ra­tud ad­res­saa­ti­dele, mis kutsuvad esile vastuseid Interneti-kont­roll­sõ­nu­mi­pro­to­kolli (ICMP) kaudu. Meie näites saadame päringu Server02-le IPv6-pro­to­kolli kaudu.

Test-Connection -TargetName Server02 -IPv6
shell

40. Get-WinEvent

Kui soovite vaadata ühte või mitut sünd­mus­logi, on teie käsutuses mit­me­su­gu­sed PowerS­helli käsud. Selleks kõige sobivam cmdlet on Get-WinEvent. Kõigi logide ku­va­miseks oma ko­ha­li­kult arvutilt võite kasutada järgmist käsku:

Get-WinEvent -ListLog *
shell
Go to Main Menu