Powershelli õpetus algajatele: õppige Powershelli skriptimist

Alustame Powershelli õppimist Lessons. Esiteks õpime:

Mis on PowerShell?

Windows PowerShell on objektorienteeritud automatiseerimismootor ja skriptikeel. See on mõeldud peamiselt IT-spetsialistidele ja süsteemiadministraatoritele haldamise juhtimiseks ja automatiseerimiseks Windows OS ja muud rakendused. See pakub uusi mõjuvaid kontseptsioone, et laiendada omandatud teadmisi ja loodud skripte Windows Käsuviip ja Windows Skripti hostikeskkonnad.

See ühendab endas skriptimise paindlikkuse, käsurea kiiruse ja GUI-põhise administraatori tööriista võimsuse. See võimaldab teil probleeme tõhusalt lahendada, aidates süsteemiadministraatoril tulevikus käsitsi töötunde kaotada. Vaatame läbi kõik olulised aspektid, mida peaksite PowerShelli õppimiseks teadma.

See on täielik juhend Powershelli skriptimise põhitõdede kohta… alustame!

Miks kasutada Powershelli?

Siin on mõned olulised põhjused Powershelli kasutamiseks:

  • Powershell pakub operatsioonisüsteemile hästi integreeritud käsureakogemust
  • PowerShell võimaldab täielikku juurdepääsu kõigile .NET-raamistiku tüüpidele
  • Süsteemiadministraatorite poolt usaldatud.
  • PowerShell on lihtne viis serveri ja tööjaama komponentidega manipuleerimiseks
  • See on suunatud süsteemiadministraatoritele, luues lihtsama süntaksi
  • PowerShell on turvalisem kui töötamine Vbscript või muud skriptikeeled

PowerShelli ajalugu

PowerShelli esimene versioon 1.0 ilmus 2006. aastal. Tänaseks on PowerShelli versioon 7.2. Aasta ja versiooni möödudes kasvasid PowerShelli võimalused ja hostimiskeskkonnad märkimisväärselt.

Vaadake Powershelli versioonipõhist ajalugu:

  • PowerShelli versioon 1 toetas kohalikku haldust Windows Server 2003
  • PowerShell 2.0 oli integreeritud Windows 7 ja Windows Server 2008 R2. See versioon toetab kaugjuhtimist ja täiustab PowerShelli võimalusi, nagu tehingud, taustatööd, sündmused, silumine jne.
  • PowerShell 3.0 anti välja selle sisemise osana Windows juhtimisraamistik. See oli paigaldatud Windows 8 ja Windows Server 2012. Saate lisada ja ajastada töid, seansi ühenduvust, automaatset mooduli laadimist jne.
  • PowerShell 4.0 tarniti koos Windows 8.1 ja Windows Server 2012 R2. Selles versioonis on lisatud soovitud olekukonfiguratsiooni tugi, täiustatud silumine ja võrgudiagnostika.
  • PowerShell 5.0 avaldati sisemise osana Windows haldusraamistik 5. Funktsioonide pakkumised selles versioonis on kaugsilumine, klasside määratlused, .NET loendused jne.
  • Välja anti PowerShell 7.2. See on üles ehitatud .NET 6.0-le. See versioon pakub uusi operaatoreid, lihtsustatud ja dünaamilist veavaadet, automaatseid uue versiooni teateid jne.

Järgmisena selles Powershelli skriptimise õpetuses tutvume Powershelli funktsioonidega.

Powershelli omadused

  • PowerShelli kaugjuhtimine: PowerShell võimaldab skripte ja cmdlet-käske kaugmasinas välja kutsuda.
  • Taustatööd: see aitab teil skripti või konveieri asünkroonselt välja kutsuda. Saate oma töid käitada kas kohalikus masinas või mitmes kaugjuhitavas masinas.
  • Tehingud: lubage cmdlet ja lubage arendajatel seda teha
  • Õhtul: See käsk aitab teil haldus- ja süsteemisündmusi kuulata, edastada ja nendega toime tulla.
  • Võrgu failiedastus: Powershell pakub natiivset tuge failide prioriteetseks, asünkroonseks, piiranguga ülekandmiseks masinate vahel, kasutades BITS-i (Background Intelligent Transfer Service) tehnoloogiat.

Kuidas käivitada PowerShell

Nüüd selles Powershelli skriptiõpetuses õpime, kuidas Powershelli sisse lülitada Windows OS.

PowerShell on kõigisse uusimatesse versioonidesse eelinstallitud Windows. Peame PowerShelli käivitama, et järgida antud samme:

Step 1) Otsige sisse PowerShell Windows. Valige ja klõpsake

Käivitage PowerShell

Step 2) Avaneb Power Shelli aken

Käivitage PowerShell

PowerShelli cmdlet

cmdlet, mida nimetatakse ka Command letiks, on kerge käsk, mida kasutatakse Windowsi baasi PowerShelli keskkonnas. PowerShell kutsub neid cmdlet-käske käsureal. Saate luua ja käivitada cmdlet-käske PowerShelli APIS-i abil.

Cmdlet vs. käsk

Cmdletid erinevad teiste käsu kesta keskkondade käskudest järgmistel viisidel ?

  • cmdletid on .NET Framework klassi objektid Seda ei saa eraldi käivitada
  • Cmdletid võivad koostada vaid tosinast koodireast
  • Parsimist, väljundi vormindamist ja veaesitlust cmdletid ei käsitle
  • Cmdlet-protsess töötab objektidel. Seega ei saa tekstivoogu ega objekte konveieri väljundina edastada
  • Cmdletid on kirjepõhised, kuna töötlevad korraga ühte objekti

Suurem osa PowerShelli funktsioonidest pärineb Cmdletist, mis on alati tegusõna-nimisõna vormingus, mitte mitmuses. Lisaks tagastab cmdleti objektid, mitte tekst. cmdlet on käskude jada, mis koosneb rohkem kui ühest reast ja mis on salvestatud ps1 laiendiga tekstifaili.

cmdlet koosneb alati tegusõnast ja nimisõnast, mis on eraldatud sidekriipsuga. Mõned tegusõnad, mida saate PowerShelli õppimiseks kasutada, on järgmised:

  • Saama — Et midagi saada
  • Avaleht — Midagi juhtida
  • välja — Et midagi välja anda
  • Peatus — Peatada midagi, mis jookseb
  • komplekt — Midagi määratleda
  • Uus — Midagi luua

PowerShell käske

Järgnevalt on toodud oluliste PowerShelli käskude loend:

Hankige abi: Abi PowerShelli käskude ja teemade kohta

Näide: kuvab abiteabe käsu Format-Table kohta

Get-Help Format-Table

Cmdlet vs. käsk

Get-Command: Hankige teavet kõige kohta, millele saab tugineda

Powershelli skripti näide: teie masinasse installitud cmdlet-käskude loendi loomiseks

Get-Command

Cmdlet vs. käsk

Hankige teenus: Leiab kõik cmdlet-käsud, milles on sõna „teenus”.

Näide: hankige kõik teenused, mis algavad sõnaga "vm"

Get-Service "vm*"

Cmdlet vs. käsk

Võta liikmeks: Näidake, mida saab objektiga teha

Näide: hankige vm-protsesside liikmed.

Get-Service "vm*" | Get-Member

Cmdlet vs. käsk

Muud käsud:

  • Hangi moodul Näitab käskude pakette
  • Hangi sisu See cmdlet võib võtta faili ja töödelda selle sisu ning sellega midagi teha
  • Get- get Leiab kõik cmdletid, mis algavad sõnaga 'get-

Näide: looge kaust

New-Item -Path 'X:\Guru99' -ItemType Directory

Väljund:

Cmdlet vs. käsk

Powershelli andmetüübid

Powershelli andmetüübid
Powershelli andmetüübid

Spetsiaalsed muutujad

Spetsiaalne muutuja Kirjeldus
$Error Veaobjektide massiiv, mis kuvab kõige värskemad vead
$Host Kuvage praeguse hostimisrakenduse nimi
$Profiil Salvestab vaikekesta kasutajaprofiili kogu tee
$PID Salvestab protsessi identifikaatori
$PSUICulture See kannab praeguse kasutajaliidese kultuuri nime.
$NULL Sisaldab tühja või NULL väärtust.
$False Sisaldab väärtust FALSE
$Tõsi Sisaldab TÕELINE väärtust

PowerShelli skriptid

Powershelli skriptid salvestatakse .ps1-faili. Vaikimisi ei saa te skripti käivitada lihtsalt faili topeltklõpsuga. See kaitseb teie süsteemi juhuslike kahjustuste eest. Skripti käivitamiseks toimige järgmiselt.

samm: paremklõpsake seda ja klõpsake nuppu "Käivita PowerShelliga".

PowerShelli skriptid

Lisaks on olemas poliitika, mis piirab skripti täitmist. Seda reeglit näete, kui käivitate käsu Get-ExecutionPolicy.

Saate ühe järgmistest väljunditest:

  • Piiratud— Skriptid pole lubatud. See on vaikeseade, nii et see kuvatakse esimest korda käsu käivitamisel.
  • Kõik Signed— Saate käivitada usaldusväärse arendaja allkirjastatud skripte. Selle sätte abil küsib skript enne käivitamist kinnitust, et soovite seda käivitada.
  • KaugSigneeritud— Saate käitada oma või usaldusväärse arendaja allkirjastatud skripte.
  • Piiranguteta— Saate käivitada mis tahes skripti, mida soovite käivitada

Täitmispoliitika muutmise sammud

Step 1) Avage kõrgendatud PowerShelli viip. Paremklõpsake PowerShelli ja "Käivita administraatorina"

PowerShelli skriptid

Step 2) Sisestage järgmised käsud

  1. Get-ExecutionPolicy
  2. Komplekti täitmise poliitika piiranguteta
  3. Sisestage viibale Y
  4. Get-ExecutionPolicy

PowerShelli skriptid

Esimene PowerShelli skript

Kirjutage märkmikusse järgmine käsk

Write-Host "Hello, Guru99!"

PowerShelli skriptidel on laiend ps1. Salvestage fail nimega FirstScript.ps1

Esimene PowerShelli skript

Kutsuge Powershellis skript käsuga

& "X:\FirstScript.ps1"

Esimene PowerShelli skript

Mis on PowerShell ISE?

. Windows PowerShelli integreeritud skriptimiskeskkond (ISE) on vaikeredaktor Windows PowerShell. Selles ISE-s saate aknapõhises GUI-keskkonnas käivitada käske, kirjutajatesti ja silumisskripte. Saate teha mitmerealist redigeerimist, süntaksi värvimist, vahekaartide lõpetamist, valikulist täitmist ja palju muud.

Windows PowerShell ISE võimaldab teil ka konsoolipaanil käske käivitada. Siiski toetab see ka paane, mida saate kasutada oma skripti lähtekoodi ja muude ISE-ga ühendatavate tööriistade samaaegseks vaatamiseks.

Saate avada isegi mitu skriptiakent korraga. See on eriti kasulik, kui silute skripti, mis kasutab teistes skriptides või moodulites määratletud funktsioone.

PowerShelli ISE

PowerShelli ISE

Sama skripti, mille lõime notepadis, saab luua ISE-s

  1. Kleepige kood redaktorisse
  2. Salvesta skript
  3. Skripti käivitamiseks kasutage klahvi F5
  4. Jälgige konsooli väljundit

PowerShelli ISE

Näide 2:

Järgmine kood annab tasuta Virtuaalne mälu teie masinas

Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

PowerShelli ISE

PowerShell Concepts

Nüüd selles Powershelli algajatele mõeldud õpetuses õpime tundma olulisi Powershelli kontseptsioone:

cmdletid Cmdlet on ehituskäsklus, mis on kirjutatud .net keeltes, nagu VB või C#. See võimaldab arendajatel laiendada cmdlet-käskude komplekti, laadides ja kirjutades PowerShelli lisandmooduleid.
Funktsioonid Funktsioonid on käsud, mis on kirjutatud PowerShelli keeles. Seda saab arendada ilma muid IDE-sid kasutamata Visual Studio ja arendajad.
Skriptid Skriptid on .ps1 laiendiga tekstifailid kettal
Rakendused Rakendused on olemasolevad Windowsi programmid.
Mis siis kui Käsutab cmdlet-käsku mitte käivitada, vaid ütleb teile, mis juhtuks, kui cmdlet käivituks.
Kinnitama Andke cmdletile enne käsu täitmist viip.
Paljusõnaline Annab kõrgema detailsuse taseme.
siluda Annab cmdletile korralduse anda silumisteavet.
ErrorAction Annab cmdlet-le korralduse tõrke ilmnemisel konkreetset toimingut sooritada. Lubatud toimingud jätkuvad, peatuvad, vaikselt – jätkake ja uurige.
ErrorVariable See määrab muutuja, mis sisaldab veateavet.
OutVariable Käsib cmdlet-il kasutada väljundteabe hoidmiseks kindlat muutujat
väljaBuffer Annab cmdlet-le korralduse hoida konkreetne arv objekte enne torujuhtme järgmise cmdleti kutsumist.

PowerShelli skripti kasutamise eelised

  • PowerShelli skriptid on tõesti võimsad ja suudavad teha palju asju vähemate ridadega.
  • Muutujad deklareeritakse kujul $
  • Muutujaid saab kasutada käsu, objektide ja väärtuste väljundi hoidmiseks.
  • Muutuja "tüüpi" ei pea täpsustama.

PowerShell vs. Käsuviip

PowerShell Command Prompt
PowerShell integreerub sügavalt Windows OS. See pakub interaktiivset käsurea liidest ja skriptikeelt. Command Prompt on vaikimisi käsurea liides, mille pakub Microsoft. See on lihtne win32 rakendus, mis suudab suhelda ja rääkida kõigi win32 objektidega Windows operatsioonisüsteem.
PowerShell kasutab nn cmdlet-faile. Seda saab käivitada kas käituskeskkonnas või automatiseerimisskriptides. Selliseid funktsioone käsuviiba kaudu ei pakuta.
PowerShell peab neid objektideks. Nii saab väljundit konveieri kaudu sisendina edastada teistele cmdlet-käskudele. Command Prompt või isegi *nix kest, cmdleti genereeritud väljund ei ole lihtsalt tekstivoog, vaid objektide kogum.
PowerShell on funktsioonide, võimaluste ja sisemise funktsioneerimise osas väga arenenud. Käsuviip on väga lihtne.

Powershelli rakendused

Tänaseks on PowerShelist saanud ideaalne valik IT-administraatoritele, kuna see hõlbustab haldustoiminguid ja pingutusi suurtes ettevõtete võrkudes. Oletame näiteks, et haldate suurt võrku, mis sisaldab rohkem kui nelisada serverit. Nüüd soovite rakendada uut turvalahendust. See turvalahendus sõltub teatud teenusest, mis peab nendes serverites töötama.

Saate kindlasti igasse serverisse sisse logida ja vaadata, kas see teenus on installitud ja töötab või mitte. Kindlasti nõuab see aga palju inimlikke vigu, kuna teie töötajad peavad kulutama palju aega sellele ebaproduktiivsele protsessile.

Kui aga kasutate PowerShelli, saate selle ülesande lõpule viia vaid mõne minutiga. Seda seetõttu, et kogu toiming tehakse ühe skriptiga, mis kogub teavet serverites töötavate teenuste kohta.

kokkuvõte

  • Windows PowerShell on objektorienteeritud automatiseerimismootor ja skriptikeel
  • Powershell pakub operatsioonisüsteemile hästi integreeritud käsureakogemust
  • PowerShelli esimene versioon 1.0 ilmus 2006. aastal
  • PowerShell võimaldab skripte ja cmdlet-käske kaugmasinas välja kutsuda
  • PowerShell on kõigisse uusimatesse versioonidesse eelinstallitud Windows
  • cmdlet on kerge käsk, mida kasutatakse Windowsi baasi PowerShelli keskkonnas
  • Get, Start, Out, Stop, Set, New on olulised PowerShelli käsud
  • Boolean, bait, vestlus, kümnend, kümnend, pikk on PowerShelli olulised andmetüübid
  • $Error. $Host, $Profile, $PID, $PSUICulture, $NULL on mõned PowerShellis kasutatavad erimuutujad
  • . Windows PowerShelli integreeritud skriptimiskeskkond (ISE) on PowerShelli vaikeredaktor
  • PowerShell integreerub sügavalt Windows OS, samas kui käsuviip on vaikimisi käsurea liides, mille pakub Microsoft
  • PowerShelist on saanud IT-administraatorite jaoks ideaalne valik, kuna see hõlbustab haldustoiminguid ja pingutusi suurtes ettevõtete võrkudes