Powershelli õpetus algajatele: õppige Powershelli skriptimist
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
Step 2) Avaneb Power Shelli aken
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
Get-Command: Hankige teavet kõige kohta, millele saab tugineda
Powershelli skripti näide: teie masinasse installitud cmdlet-käskude loendi loomiseks
Get-Command
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*"
Võta liikmeks: Näidake, mida saab objektiga teha
Näide: hankige vm-protsesside liikmed.
Get-Service "vm*" | Get-Member
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:
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".
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"
Step 2) Sisestage järgmised käsud
- Get-ExecutionPolicy
- Komplekti täitmise poliitika piiranguteta
- Sisestage viibale Y
- Get-ExecutionPolicy
Esimene PowerShelli skript
Kirjutage märkmikusse järgmine käsk
Write-Host "Hello, Guru99!"
PowerShelli skriptidel on laiend ps1. Salvestage fail nimega FirstScript.ps1
Kutsuge Powershellis skript käsuga
& "X:\FirstScript.ps1"
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.
Sama skripti, mille lõime notepadis, saab luua ISE-s
- Kleepige kood redaktorisse
- Salvesta skript
- Skripti käivitamiseks kasutage klahvi F5
- Jälgige konsooli väljundit
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
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