Powershell-opastus aloittelijoille: Opi Powershell-komentosarjat

Aloitetaan Powershellin oppiminen Lessons. Ensin opimme:

Mikรค on PowerShell?

Windows PowerShell on olio-automaatiomoottori ja komentosarjakieli. Se on suunniteltu pรครคasiassa IT-ammattilaisille ja jรคrjestelmรคnvalvojille ohjaamaan ja automatisoimaan hallintaa Windows OS ja muut sovellukset. Se tarjoaa houkuttelevia uusia konsepteja laajentamaan hankkimaasi tietoa ja luomiasi skriptejรค Windows Komentorivi ja Windows Script Host -ympรคristรถt.

Siinรค yhdistyvรคt komentosarjan joustavuus, komentorivin nopeus ja GUI-pohjaisen hallintatyรถkalun teho. Sen avulla voit ratkaista ongelmia tehokkaasti auttamalla jรคrjestelmรคnvalvojaa eliminoimaan tulevat manuaaliset tyรถtunnit. Kรคymme lรคpi kaikki tรคrkeรคt nรคkรถkohdat, jotka sinun pitรคisi tietรครค oppiaksesi PowerShellin.

Tรคmรค on tรคydellinen opas Powershell-komentosarjan perusteisiinโ€ฆ aloitetaan!

Miksi kรคyttรครค Powershelliรค?

Tรคssรค on joitain tรคrkeitรค syitรค kรคyttรครค Powershellia:

  • Powershell tarjoaa hyvin integroidun komentorivikokemuksen kรคyttรถjรคrjestelmรครคn
  • PowerShell mahdollistaa tรคydellisen pรครคsyn kaikkiin .NET-kehyksen tyyppeihin
  • Jรคrjestelmรคnvalvojat luottavat.
  • PowerShell on yksinkertainen tapa kรคsitellรค palvelin- ja tyรถasemakomponentteja
  • Se on suunnattu jรคrjestelmรคnvalvojille luomalla helpomman syntaksin
  • PowerShell on turvallisempi kuin kรคynnissรค vbscript tai muilla skriptikielillรค

PowerShell-historia

PowerShellin ensimmรคinen versio 1.0 julkaistiin vuonna 2006. Nykyรครคn PowerShell on versiossa 7.2. Vuoden ja version edetessรค PowerShellin ominaisuudet ja isรคnnรถintiympรคristรถt kasvoivat merkittรคvรคsti.

Katso Powershellin versiotietoinen historia:

  • PowerShell-versio 1 tuki paikallista hallintaa Windows palvelimen 2003
  • PowerShell 2.0 integroitiin Windows 7 ja Windows Palvelin 2008 R2. Tรคmรค versio tukee etรคkรคyttรถรค ja parantaa PowerShellin ominaisuuksia, kuten tapahtumia, taustatรถitรค, tapahtumia, virheenkorjausta jne.
  • PowerShell 3.0 julkaistiin sisรคisenรค osana Windows hallintokehys. Se asennettiin pรครคlle Windows 8 ja Windows Server 2012. Voit lisรคtรค ja ajoittaa tรถitรค, istuntoyhteyksiรค, automaattista moduulin latausta jne.
  • PowerShell 4.0 toimitettiin mukana Windows 8.1 ja Windows Palvelin 2012 R2. Tรคssรค versiossa lisรคtty tuki halutulle tilakokoonpanolle, parannettu virheenkorjaus, verkkodiagnostiikka.
  • PowerShell 5.0 julkaistiin sisรคisenรค osana Windows hallintakehys 5. Tรคmรคn version ominaisuudet ovat etรคvirheenkorjaus, luokkamรครคritykset, .NET-luettelot jne.
  • PowerShell 7.2 julkaistiin. Se on rakennettu .NET 6.0:lle. Tรคmรค versio tarjoaa uusia operaattoreita, yksinkertaistetun ja dynaamisen virhenรคkymรคn, automaattiset uusien versioiden ilmoitukset jne.

Seuraavaksi tรคssรค Powershell-komentosarjaopetusohjelmassa opimme Powershellin ominaisuuksista.

Powershellin ominaisuudet

  • PowerShell Remoting: PowerShell sallii komentosarjojen ja cmdlet-komentojen kutsumisen etรคkoneessa.
  • Taustatyรถt: Se auttaa kutsumaan komentosarjaa tai liukuhihnaa asynkronisesti. Voit suorittaa tyรถsi joko paikallisella koneella tai useilla etรคohjatuilla koneilla.
  • Liiketoimet: Ota cmdlet kรคyttรถรถn ja salli kehittรคjien suorittaa
  • Ilta: Tรคmรค komento auttaa sinua kuuntelemaan, vรคlittรคmรครคn ja toimimaan hallinta- ja jรคrjestelmรคtapahtumiin.
  • Verkkotiedoston siirto: Powershell tarjoaa natiivituen priorisoidulle, asynkroniselle, rajoitetulle tiedostojen siirrolle koneiden vรคlillรค kรคyttรคmรคllรค BITS (Background Intelligent Transfer Service) -tekniikkaa.

Kuinka kรคynnistรครค PowerShell

Nyt tรคssรค Powershell-komentosarjan opetusohjelmassa opimme kรคynnistรคmรครคn Powershell-sovelluksen Windows OS.

PowerShell on esiasennettu kaikkiin uusimpiin versioihin Windows. Meidรคn on kรคynnistettรคvรค PowerShell, jotta meidรคn on noudatettava annettuja vaiheita:

Vaihe 1) Etsi PowerShell in Windows. Valitse ja napsauta

Kรคynnistรค PowerShell

Vaihe 2) Power Shell -ikkuna avautuu

Kรคynnistรค PowerShell

PowerShell-cmdlet

Cmdlet, jota kutsutaan myรถs Command letiksi, on kevyt komento, jota kรคytetรครคn Windows-pohjaisessa PowerShell-ympรคristรถssรค. PowerShell kutsuu nรคmรค cmdlet-komentot komentokehotteessa. Voit luoda ja kutsua cmdlet-komentoja PowerShell APIS:n avulla.

Cmdlet vs. Command

Cmdlet-komentot eroavat muiden komentotulkkiympรคristรถjen komennoista seuraavilla tavoilla ?

  • Cmdletit ovat .NET Framework luokan objektit Sitรค ei voi suorittaa erikseen
  • Cmdletit voivat rakentaa vain tusinasta koodirivistรค
  • cmdletit eivรคt kรคsittele jรคsentรคmistรค, tulosteen muotoilua ja virheiden esitystapaa
  • Cmdlet-prosessi toimii objekteissa. Joten tekstivirtaa ja objekteja ei voida vรคlittรครค liukuhihnan tulosteena
  • Cmdletit ovat tietuepohjaisia, koska ne kรคsittelevรคt yhden objektin kerrallaan

Suurin osa PowerShellin toiminnoista tulee Cmdletistรค, joka on aina verbi-substantiivimuodossa eikรค monikkomuodossa. Lisรคksi Cmdlet palauttaa objektit eivรคt tekstiรค. cmdlet on usean rivin komentosarja, joka on tallennettu tekstitiedostoon, jonka tunniste on .ps1.

cmdlet koostuu aina verbistรค ja substantiivista, jotka on erotettu yhdysmerkillรค. Jotkut verbeistรค, joita kรคytรคt PowerShellin oppimiseen, ovat:

  • Saada โ€“ Saadakseen jotain
  • Aloita โ€“ Juoksemaan jotain
  • Ulos โ€“ Tulostaa jotain
  • stop โ€“ Pysรคyttรครคkseen jotain kรคynnissรค olevaa
  • Asettaa โ€“ Mรครคritellรค jotain
  • Uusi โ€“ Luoda jotain

PowerShell komentoja

Seuraavassa on luettelo tรคrkeistรค PowerShell-komennoista:

Hae apua: Apua PowerShell-komentoihin ja aiheisiin

Esimerkki: Nรคytรค ohjetiedot komennosta Format-Table

Get-Help Format-Table

Cmdlet vs. Command

Get-Command: Hanki tietoa kaikesta, mihin voidaan vedota

Powershell-komentosarja Esimerkki: Voit luoda luettelon koneellesi asennetuista cmdlet-toiminnoista

Get-Command

Cmdlet vs. Command

Hanki palvelu: Lรถytรครค kaikki cmdletit, joissa on sana "palvelu".

Esimerkki: Hanki kaikki palvelut, jotka alkavat "vm"

Get-Service "vm*"

Cmdlet vs. Command

Liity jรคseneksi: Nรคytรค, mitรค esineellรค voidaan tehdรค

Esimerkki: Hanki vm-prosessien jรคsenet.

Get-Service "vm*" | Get-Member

Cmdlet vs. Command

Muut komennot:

  • Get Module Nรคyttรครค komentopaketit
  • Hanki sisรคltรถรค Tรคmรค cmdlet voi ottaa tiedoston ja kรคsitellรค sen sisรคllรถn ja tehdรค sillรค jotain
  • Get-get Etsii kaikki cmdletit, jotka alkavat sanalla get-

Esimerkki: Luo kansio

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

lรคhtรถ:

Cmdlet vs. Command

Powershell-tietotyypit

Powershell-tietotyypit
Powershell-tietotyypit

Erityiset muuttujat

Erikoismuuttuja Tuotetiedot
$Error Joukko virheobjekteja, jotka nรคyttรคvรคt uusimmat virheet
$Host Nรคytรค nykyisen isรคnnรถintisovelluksen nimi
$Profiili Tallentaa oletuskuoren kรคyttรคjรคprofiilin koko polun
$PID Tallentaa prosessin tunnisteen
$PSUICulttuuri Se pitรครค sisรคllรครคn nykyisen kรคyttรถliittymรคkulttuurin nimen.
$NULL Sisรคltรครค tyhjรคn tai NULL-arvon.
$False Sisรคltรครค FALSE-arvon
$Totta Sisรคltรครค TRUE arvon

PowerShell-skriptit

Powershell-skriptit tallennetaan .ps1-tiedostoon. Oletusarvoisesti et voi suorittaa komentosarjaa vain kaksoisnapsauttamalla tiedostoa. Tรคmรค suojaa jรคrjestelmรครคsi vahingossa tapahtuvilta vaurioilta. Skriptin suorittaminen:

Vaihe 1: Napsauta sitรค hiiren kakkospainikkeella ja napsauta "Suorita PowerShellin kanssa".

PowerShell-skriptit

Lisรคksi on olemassa kรคytรคntรถ, joka rajoittaa komentosarjan suorittamista. Nรคet tรคmรคn kรคytรคnnรถn suorittamalla Get-ExecutionPolicy-komennon.

Saat yhden seuraavista tulosteista:

  • rajoitettuโ€” Skriptejรค ei sallita. Tรคmรค on oletusasetus, joten se nรคkyy ensimmรคisen kerran, kun suoritat komennon.
  • Kaikki allekirjoitettuโ€” Voit ajaa luotettavan kehittรคjรคn allekirjoittamia skriptejรค. Tรคmรคn asetuksen avulla komentosarja pyytรครค vahvistusta, ettรค haluat suorittaa sen ennen suorittamista.
  • RemoteSignedโ€” Voit suorittaa luotetun kehittรคjรคn allekirjoittamia komentosarjojasi.
  • rajoittamatonโ€” Voit suorittaa minkรค tahansa skriptin, jonka haluat suorittaa

Toteutuskรคytรคnnรถn muuttamisen vaiheet

Vaihe 1) Avaa korotettu PowerShell-kehote. Napsauta hiiren kakkospainikkeella PowerShellia ja "Suorita jรคrjestelmรคnvalvojana"

PowerShell-skriptit

Vaihe 2) Anna seuraavat komennot

  1. Get-ExecutionPolicy
  2. Asetuksen toteutuspolitiikkaa ei ole rajoitettu
  3. Kirjoita Y-kehotteeseen
  4. Get-ExecutionPolicy

PowerShell-skriptit

Ensimmรคinen PowerShell-skripti

Kirjoita muistilehtiรถรถn seuraava komento

Write-Host "Hello, Guru99!"

PowerShell-skripteillรค on laajennus ps1. Tallenna tiedosto nimellรค FirstScript.ps1

Ensimmรคinen PowerShell-skripti

Kutsu komentosarja Powershellissรค komennolla

& "X:\FirstScript.ps1"

Ensimmรคinen PowerShell-skripti

Mikรค on PowerShell ISE?

Windows PowerShell Integrated Scripting Environment (ISE) on oletuseditori Windows PowerShell. Tรคssรค ISE:ssรค voit suorittaa komentoja, kirjoittajatestiรค ja virheenkorjauskomentotiedostoja ikkunapohjaisessa GUI-ympรคristรถssรค. Voit tehdรค monirivisen muokkauksen, syntaksin vรคrityksen, vรคlilehden viimeistelyn, valikoivan suorituksen ja monia muita asioita.

Windows PowerShell ISE mahdollistaa myรถs komentojen suorittamisen konsoliruudussa. Se tukee kuitenkin myรถs ruutuja, joiden avulla voit tarkastella samanaikaisesti komentosarjasi lรคhdekoodia ja muita tyรถkaluja, jotka voit liittรครค ISE:hen.

Voit jopa avata useita komentosarjaikkunoita samanaikaisesti. Tรคmรค on erityisen hyรถdyllistรค, kun suoritat virheenkorjausta skriptistรค, joka kรคyttรครค muissa komentosarjoissa tai moduuleissa mรครคritettyjรค toimintoja.

PowerShell ISE

PowerShell ISE

Sama skripti, jonka loimme Notepadissa, voidaan luoda ISE:ssรค

  1. Liitรค koodi editoriin
  2. Tallenna komentosarja
  3. Kรคytรค F5-nรคppรคintรค ajaaksesi komentosarjan
  4. Tarkkaile konsolin lรคhtรถรค

PowerShell ISE

Nรคyte 2:

Seuraava koodi antaa ilmaisen Virtuaalimuistia koneessasi

Get-WmiObject -Class Win32_OperatingSystem โ€“ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

PowerShell ISE

PowerShell Concepts

Nyt tรคssรค Powershell aloittelijoille -opetusohjelmassa opimme tรคrkeistรค Powershell-konsepteista:

cmdletit Cmdlet ovat build-komentoja, jotka on kirjoitettu .net-kielillรค, kuten VB tai C#. Sen avulla kehittรคjรคt voivat laajentaa cmdlet-joukkoa lataamalla ja kirjoittamalla PowerShell-laajennuksia.
Tehtรคvรคt Funktiot ovat komentoja, jotka on kirjoitettu PowerShell-kielellรค. Sitรค voidaan kehittรครค kรคyttรคmรคttรค muita IDE:itรค, kuten Visual Studio ja kehittรคjรคt.
Skriptit Skriptit ovat levyllรค olevia tekstitiedostoja, joiden tunniste on .ps1
Sovellukset Sovellukset ovat olemassa olevia Windows-ohjelmia.
Mitรค jos Kรคskee cmdlet-komentoa olemaan suorittamatta, mutta kertoa sinulle, mitรค tapahtuisi, jos cmdlet suoritettaisiin.
Vahvistaa Pyydรค cmdlet-komentoa kehottamaan ennen komennon suorittamista.
jaaritteleva Antaa korkeamman tason yksityiskohtia.
Debug Kehottaa cmdlet-komentoa antamaan virheenkorjaustiedot.
ErrorAction Kehottaa cmdlet-komentoa suorittamaan tietyn toiminnon virheen ilmetessรค. Sallitut toimet jatkuvat, lopetat, hiljaa โ€“ jatka ja tiedustele.
ErrorVariable Se mรครคrittรครค muuttujan, joka sisรคltรครค virhetiedot.
OutVariable Kรคskee cmdlet-komentoa kรคyttรคmรครคn tiettyรค muuttujaa tulostustietojen sรคilyttรคmiseen
UlosBuffer Kehottaa cmdlet-komentoa pitรคmรครคn tietyn mรครคrรคn objekteja, ennen kuin se kutsuu seuraavaa prosessissa olevaa cmdlet-komentoa.

PowerShell-komentosarjan kรคytรถn edut

  • PowerShell-skriptit ovat todella tehokkaita ja voivat tehdรค paljon asioita harvemmilla riveillรค.
  • Muuttujat ilmoitetaan muodossa $
  • Muuttujia voidaan kรคyttรครค komennon, objektien ja arvojen tulosteen sรคilyttรคmiseen.
  • Muuttujan "tyyppiรค" ei tarvitse mรครคrittรครค.

PowerShell Vs. Komentokehote

PowerShell Komentorivi
PowerShell integroituu syvรคsti Windows OS. Se tarjoaa interaktiivisen komentorivikรคyttรถliittymรคn ja komentosarjakielen. Komentorivi on oletusarvoinen komentoriviliittymรค, jonka tarjoaa Microsoft. Se on yksinkertainen win32-sovellus, joka voi olla vuorovaikutuksessa ja keskustella kaikkien win32-objektien kanssa Windows kรคyttรถjรคrjestelmรค.
PowerShell kรคyttรครค ns. cmdlet-komentoja. Se voidaan kutsua joko ajonaikaisessa ympรคristรถssรค tai automaatiokomentosarjoissa. Tรคllaisia โ€‹โ€‹ominaisuuksia ei tarjota komentokehotteessa.
PowerShell pitรครค niitรค objekteina. Joten tulos voidaan vรคlittรครค syรถtteenรค muille cmdleteille liukuhihnan kautta. Komentorivi tai jopa *nix-kuori, cmdletistรค luotu tulos ei ole vain tekstivirta, vaan kokoelma objekteja.
PowerShell on erittรคin edistynyt ominaisuuksien, ominaisuuksien ja sisรคisen toiminnan suhteen. Komentokehote on hyvin yksinkertainen.

Powershellin sovellukset

Nykyรครคn PowerShellistรค on tullut ihanteellinen valinta IT-jรคrjestelmรคnvalvojille, koska se helpottaa hallintaa ja vaivaa suurissa yritysverkoissa. Oletetaan esimerkiksi, ettรค hallitset suurta verkkoa, joka sisรคltรครค yli neljรคsataa palvelinta. Nyt haluat ottaa kรคyttรถรถn uuden tietoturvaratkaisun. Tรคmรค suojausratkaisu riippuu tietystรค palvelusta, jonka on toimittava nรคillรค palvelimilla.

Voit varmasti kirjautua sisรครคn jokaiselle palvelimelle ja nรคhdรค, onko palvelu asennettu ja kรคynnissรค vai ei. Se vaatii kuitenkin paljon inhimillisiรค virheitรค, koska henkilรถstรถsi tarvitsee paljon aikaa tรคhรคn tuottamattomaan prosessiin.

Jos kuitenkin kรคytรคt PowerShellia, voit suorittaa tรคmรคn tehtรคvรคn muutamassa minuutissa. Tรคmรค johtuu siitรค, ettรค koko toiminta tehdรครคn yhdellรค skriptillรค, joka kerรครค tietoa palvelimilla toimivista palveluista.

Yhteenveto

  • Windows PowerShell on olio-automaatiomoottori ja komentosarjakieli
  • Powershell tarjoaa hyvin integroidun komentorivikokemuksen kรคyttรถjรคrjestelmรครคn
  • PowerShellin ensimmรคinen versio 1.0 julkaistiin vuonna 2006
  • PowerShell sallii komentosarjojen ja cmdlet-komentojen kutsumisen etรคkoneessa
  • PowerShell on esiasennettu kaikkiin uusimpiin versioihin Windows
  • cmdlet on kevyt komento, jota kรคytetรครคn Windows-pohjaisessa PowerShell-ympรคristรถssรค
  • Get, Start, Out, Stop, Set, New ovat tรคrkeitรค PowerShell-komennot
  • Boolean, tavu, chat, desimaali, desimaali, pitkรค ovat tรคrkeitรค PowerShellin tietotyyppejรค
  • $Error. $Host, $Profile, $PID, $PSUICulture, $NULL ovat joitain PowerShellissรค kรคytettyjรค erikoismuuttujia.
  • Windows PowerShell Integrated Scripting Environment (ISE) on PowerShellin oletuseditori
  • PowerShell integroituu syvรคsti Windows OS, kun taas komentokehote on oletuskomentoriviliittymรค, jonka tarjoaa Microsoft
  • PowerShellistรค on tullut ihanteellinen valinta IT-jรคrjestelmรคnvalvojille, koska se helpottaa hallintaa ja vaivaa suurissa yritysverkoissa

Tiivistรค tรคmรค viesti seuraavasti: