Powershell-opastus aloittelijoille

⚡ Älykäs yhteenveto

PowerShell-skriptaus on .NET-kehykseen rakennettu oliopohjainen automaatiomoottori. Se yhdistää cmdlettejä, skriptejä ja skriptikielen auttaakseen IT-järjestelmänvalvojia automatisoimaan Windows, hallita palveluita ja yhdistää etäkoneita yhdeltä komentoriviltä.

  • 🚀 Käynnistä oikea komentotulkki: Avaa PowerShell tai PowerShell ISE Käynnistä-valikosta ja suorita se järjestelmänvalvojana, kun tarvitset laajennettuja oikeuksia.
  • 🧩 Käytä cmdlettejä, älä tekstikomentoja: Cmdlet-komennot noudattavat verbi-substantiivi-nimeämismallia ja palauttavat .NET-objekteja, joten tuloste voi siirtyä seuraavaan cmdlet-komennolle putken kautta.
  • 🔐 Aseta suorituskäytäntö huolellisesti: Käytä Set-ExecutionPolicy-ominaisuutta RemoteSignedin kanssa tasapainottaaksesi turvallisuuden ja kätevyyden .ps1-komentosarjoja suoritettaessa.
  • 📁 Kirjoita uudelleenkäytettäviä .ps1-skriptejä: Yhdistä cmdlettejä, muuttujia ja projekteja tekstitiedostoon .ps1-tiedostotunnisteella automatisoidaksesi toistuvia järjestelmänvalvojan tehtäviä.
  • 🤖 Yhdistä PowerShell tekoälyn kanssa: Tekoälyavustajat muuttavat selkokieliset pyynnöt suoritusvalmiiksi PowerShell-skripteiksi ja selittävät vieraita cmdlettejä rivi riviltä.

Powershell-opastus aloittelijoille

Mikä on PowerShell?

Windows PowerShell on oliopohjainen automaatiomoottori ja komentosarjakieli. Se on suunniteltu IT-ammattilaisille ja järjestelmänvalvojille, joiden on hallittava ja automatisoitava Windows ja muissa sovelluksissa. PowerShell laajentaa opittuja käsitteitä Windows Komentorivi ja Windows Script Host uusilla objekteilla, cmdleteillä ja tehokkaalla käsittelyprosessilla.

Se yhdistää skriptauksen joustavuuden, komentorivin nopeuden ja graafisen käyttöliittymän hallintatyökalun syvyyden. Sen avulla järjestelmänvalvojat voivat ratkaista ongelmia tehokkaasti ja poistaa tuntikausia manuaalista työtä. Tämä opetusohjelma käy läpi PowerShellin oppimiseen tarvittavat perusteet alusta alkaen.

Miksi käyttää PowerShelliä?

Tärkeimmät syyt PowerShellin käyttöön ovat:

  • Tarjoaa hyvin integroidun komentorivikokemuksen käyttöjärjestelmälle.
  • Tarjoaa täyden pääsyn kaikkiin .NET-kehystyypin tyyppeihin.
  • Järjestelmänvalvojien luottama kaikissa yrityksissä.
  • Voit muokata palvelin- ja työasemakomponentteja muutamalla rivillä.
  • Suunnattu järjestelmänvalvojille selkeällä verbi-substantiivi-syntaksilla.
  • Turvallisempaa kuin juokseminen vbscript tai muita vanhoja skriptikieliä.

PowerShell-historia

PowerShell 1.0 julkaistiin ensimmäisen kerran vuonna 2006. PowerShell on nyt versiossa 7.2 ja uudemmissa. Julkaisujen myötä sen ominaisuudet ja hosting-ympäristöt kasvoivat merkittävästi.

PowerShellin versiokohtainen historia:

  • PowerShell 1.0 — tuki paikallishallintoa Windows 2003-palvelin.
  • PowerShell 2.0 — integroituna Windows 7 ja Windows Server 2008 R2. Lisätty etäkäyttö, tapahtumat, taustatyöt, tapahtumat ja virheenkorjaus.
  • PowerShell 3.0 — toimitetaan mukana Windows 8 ja Windows Server 2012 osana Windows Hallintakehys. Lisätty ajoitetut työt, istuntoyhteydet ja automaattinen moduulien lataus.
  • PowerShell 4.0 — toimitetaan mukana Windows 8.1 ja Windows Server 2012 R2. Lisätty halutun tilan määritys, parannettu virheenkorjaus ja verkon diagnostiikka.
  • PowerShell 5.0 — osa Windows Management Framework 5. Lisätty etävirheenkorjaus, luokkamääritelmät ja .NET-luetteloinnit.
  • PowerShell 7.2 — rakennettu .NET 6.0:lle. Lisää uusia operaattoreita, dynaamisia virhenäkymiä ja automaattisia versioilmoituksia.

PowerShellin ominaisuudet

  • PowerShell-etäkäyttö: käynnistää komentosarjoja ja cmdlettejä etäkoneella.
  • Taustatyöt: ajaa skriptejä tai prosesseja asynkronisesti paikallisessa koneessa tai useissa etäkoneissa.
  • liiketoimet: anna cmdlet-komentojen ja kehittäjien suorittaa ryhmiteltyjä toimintoja, jotka voidaan vahvistaa tai peruuttaa yhdessä.
  • Tapahtuma: kuuntele, välitä ja toimi johdon ja järjestelmän tapahtumien perusteella.
  • Verkkotiedoston siirto: natiivi tuki priorisoidulle, asynkroniselle ja rajoitetulle tiedostonsiirrolle koneiden välillä Background Intelligent Transfer Service (BITS) -palvelun kautta.

PowerShellin käynnistäminen

PowerShell on esiasennettuna jokaisessa uudemmassa versiossa WindowsKäynnistä se seuraavasti.

Vaihe 1) Etsi PowerShell in Windows, valitse se ja napsauta sitä.

Käynnistä PowerShell

Vaihe 2) PowerShell-ikkuna avautuu.

PowerShell -ikkuna

Cmdlet vs. Command

A cmdlet (lausutaan ”command-let”) on kevyt komento, jota käytetään PowerShell-ympäristössä. PowerShell kutsuu cmdlet-komentoja kehotteessa, ja voit luoda omia PowerShell-API-rajapintojen avulla. Cmdlet-komennot eroavat perinteisistä shell-komennoista seuraavilla tavoilla:

  • Cmdletit ovat .NET Framework luokan objekteja; niitä ei voida suorittaa erillisinä suoritettavina tiedostoina.
  • Cmdlet-komentoja voidaan kirjoittaa jopa kymmenellä koodirivillä.
  • Jäsennys, tulosteen muotoilu ja virheiden esittäminen hoidetaan ajonaikaisessa ympäristössä, ei itse cmdletissä.
  • Cmdletit toimivat objektien kanssa, joten sekä tekstivirrat että objektit voivat kulkea putkistojen läpi.
  • Cmdlet-komennot ovat tietuepohjaisia ​​ja käsittelevät yhtä objektia kerrallaan.

Suurin osa PowerShell-toiminnoista toimitetaan cmdlet-komennoilla, jotka käyttävät aina verbi-substantiivi-nimeämismallia (aina yksikkö). Cmdlet-komennot palauttavat objekteja, eivät tekstiä. käsikirjoitus — eri asia kuin cmdlet — on sarja komentoja, jotka on tallennettu tekstitiedostoon, jossa on .ps1 laajennus.

Yleisiä verbejä, joita käytät PowerShellin oppimiseen, ovat:

  • Saada – hakea jotain.
  • Aloita - ajaa jotain.
  • Ulos — tuottaa jotakin.
  • stop — pysäyttää käynnissä olevan asian.
  • Asettaa – määritellä jotakin.
  • Uusi – luoda jotain.

Tärkeitä PowerShell-komentoja

Hae apua: Näytä PowerShell-komentojen ja -aiheiden ohjeet.

Esimerkki: näytä ohjeet kohteelle Format-Table komento.

Get-Help Format-Table

Get-Help-cmdlet

Get-Command: saada tietoa kaikesta, mihin voi vedota.

Esimerkki: luo luettelo koneelle asennetuista cmdleteistä ja funktioista.

Get-Command

Get-Command-cmdlet

Hanki palvelu: löytää kaikki palvelut koneelta.

Esimerkki: hae kaikki palvelut, joiden nimi alkaa kirjaimilla ”vm”.

Get-Service "vm*"

Get-Service-cmdlet

Hanki jäsen: näytä, mitä esineellä voi tehdä.

Esimerkki: listaa Get-Service-funktion palauttamien virtuaalikoneen palveluiden jäsenet.

Get-Service "vm*" | Get-Member

Get-Member-cmdlet

Muita hyödyllisiä cmdlettejä:

  • Get-Module — näytä asennetut komentopaketit.
  • Get-Content — lukea tiedoston ja käsitellä sen sisällön.
  • Get-* jokerimerkki — listaa kaikki cmdlet-komennot, jotka alkavat merkeillä ”Get-”.

Esimerkki: luo kansio.

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

lähtö:

Uuden kohteen tuloste

PowerShell-tietotyypit

PowerShell tukee .NET-vakiotietotyyppejä, joten voit tallentaa minkä tahansa arvon siististi muuttujaan.

PowerShell-tietotyypit

Erityiset muuttujat

PowerShellissä on useita sisäänrakennettuja erikoismuuttujia. Hyödyllisimmät on lueteltu alla.

Erikoismuuttuja Tuotetiedot
$Error Virheobjektien taulukko, joka edustaa viimeisimpiä virheitä.
$Host Näyttää nykyisen isännöintisovelluksen nimen.
$Profiili Tallentaa käyttäjäprofiilin koko polun oletuskäyttöliittymää varten.
$PID Tallentaa prosessitunnisteen.
$PSUICulttuuri Sisältää nykyisen käyttöliittymäkulttuurin nimen.
$NULL Sisältää tyhjän tai null-arvon.
$False Sisältää totuusarvon FALSE.
$Totta Sisältää totuusarvon TRUE.

PowerShell-skriptit

PowerShell-skriptit tallennetaan .ps1 tiedostoja. Oletusarvoisesti et voi suorittaa komentosarjaa kaksoisnapsauttamalla sitä – tämä suojaus suojaa järjestelmää vahingossa tapahtuvalta vahingoittumiselta. Suorittaaksesi komentosarjan, napsauta sitä hiiren kakkospainikkeella ja valitse "Suorita PowerShellillä".

Suorita PowerShellillä

Suorituskäytäntö määrittää, mitkä skriptit saavat suorittaa. Voit tarkastella nykyistä käytäntöä seuraavasti: Get-ExecutionPolicyMahdollisia arvoja ovat:

  • rajoitettu — skriptejä ei sallita. Tämä on oletusarvo.
  • Kaikki allekirjoitettu — vain luotettavan kehittäjän allekirjoittamat skriptit toimivat, ja jokainen vaatii vahvistuksen.
  • RemoteSigned — omat skriptisi toimivat sekä luotettavista lähteistä saadut allekirjoitetut skriptit.
  • rajoittamaton — mikä tahansa skripti voi toimia (käytä säästeliäästi).

Toteutuskäytännön muuttamisen vaiheet:

Vaihe 1) Avaa PowerShell-kehote järjestelmänvalvojan oikeuksilla napsauttamalla PowerShelliä hiiren kakkospainikkeella ja valitsemalla Suorita järjestelmänvalvojana.

Suorita PowerShell järjestelmänvalvojana

Vaihe 2) Suorita alla olevat komennot.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. enter Y vahvistuskehotteessa.
  4. Get-ExecutionPolicy

Muuta toteutuskäytäntöä

Ensimmäinen PowerShell-skripti

Avaa Muistio ja kirjoita:

Write-Host "Hello, Guru99!"

Tallenna tiedosto nimellä .ps1 laajennus – esimerkiksi FirstScript.ps1.

Tallenna FirstScript.ps1

Suorita PowerShellissä komentosarja seuraavasti:

& "X:\FirstScript.ps1"

Suorita FirstScript.ps1

Mikä on PowerShell ISE?

Windows PowerShell-integroitu komentosarjaympäristö (ISE) on PowerShellin oletuseditori. ISE:ssä voit suorittaa komentoja, kirjoittaa testejä ja debugata komentosarjoja graafisessa, ikkunapohjaisessa ympäristössä. Se tukee monirivistä muokkausta, syntaksin väritystä, välilehtien täydennystä, valikoivaa suorittamista ja paljon muuta.

PowerShell ISE tarjoaa myös konsolipaneelin, jossa komentoja suoritetaan suoraan, kun taas sivupaneelit näyttävät skriptiesi lähdekoodin ja kaikki ISE:hen liitetyt työkalut. Voit avata useita skripti-ikkunoita kerralla – tämä on hyödyllistä, kun debugataan skriptejä, jotka ovat riippuvaisia ​​muissa skripteissä tai moduuleissa määritellyistä funktioista.

PowerShell ISE

Luo aiempi komentosarja uudelleen ISE:ssä:

  1. Liitä koodi editoriin.
  2. Tallenna skripti.
  3. Paina F5-näppäintä suorittaaksesi sen.
  4. Tarkkaile tulostetta konsoliruudussa.

Suorita komentosarja ISE:ssä

Näyte 2: seuraava skripti näyttää ilmaisen virtuaalimuistin koneella.

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

Ilmainen virtuaalimuistiskripti

PowerShell Concepts

Seuraavat käsitteet muodostavat PowerShell-työn jokapäiväisen sanaston.

Käsite Tuotetiedot
cmdletit Sisäänrakennetut komennot, jotka on kirjoitettu .NET-kielillä, kuten VB tai C#. Kehittäjät laajentavat joukkoa lataamalla tai kirjoittamalla PowerShell-laajennuksia.
Tehtävät PowerShell-kielellä kirjoitetut komennot ilman IDE:tä, kuten Visual Studio.
Skriptit Tekstitiedostot levyllä, joissa on .ps1 laajennus.
Sovellukset Nykyinen Windows komentotulkista kutsuttavat ohjelmat.
Mitä jos Käskee cmdlet-komentoa olemaan suorittamatta komentoa, vaan kuvaamaan, mitä tapahtuisi, jos se suoritettaisiin.
Vahvistaa Ohjaa cmdlet-komentoa näyttämään kehotteen ennen suorittamista.
jaaritteleva Tarjoaa korkeamman tason operatiivisia yksityiskohtia.
Debug Ohjaa cmdlet-komentoa lähettämään virheenkorjaustietoja.
ErrorAction Määrittää, mitä cmdlet tekee virheen sattuessa. Sallitut arvot: continue, stop, silentlycontinue, inquire.
ErrorVariable Nimeää muuttujan, joka sisältää virhetiedot.
OutVariable Ohjaa cmdlet-komentoa tallentamaan tulosteensa tiettyyn muuttujaan.
UlosBuffer Säilyttää tietyn määrän objekteja ennen niiden lähettämistä putkilinjaa pitkin.

PowerShell-skriptien käytön edut

  • PowerShell-skriptit ovat tehokkaita ja ytimekkäitä – voit saada paljon aikaan vain muutamalla rivillä.
  • Muuttujat deklaroidaan käyttämäll�� $<variable> syntaksi.
  • Muuttujat voivat sisältää komentojen tulosteita, objekteja ja primitiivien arvoja.
  • Muuttujan tyyppiä ei tarvitse määrittää eksplisiittisesti.

PowerShell vs. komentokehote

PowerShell Komentorivi
Syvästi integroitu WindowsTarjoaa interaktiivisen komentorivin ja täyden skriptikielen. Oletusarvoinen komentorivikäyttöliittymä, jonka tarjoaa MicrosoftYksinkertainen Win32-sovellus, joka kommunikoi muiden Win32-objektien kanssa.
Käyttää cmdlet-komentoja, joita voidaan kutsua vuorovaikutteisesti tai automaatioskriptien kautta. Ei cmdlettejä.
Käsittelee tulostetta objekteina, jotta se voi siirtyä toiseen cmdlet-komentoon putken kautta. Tuloste on pelkkää tekstivirtaa, ei objekteja.
Edistynyt ominaisuuksien, ominaisuuksien ja sisäisen arkkitehtuurin suhteen. Peruskuori, sopii vanhoihin erätehtäviin.

PowerShellin sovellukset

PowerShellistä on tullut IT-järjestelmänvalvojien vakiovalinta, koska se vähentää merkittävästi työmäärää suurissa yritysverkoissa. Kuvittele, että hallinnoit yli neljääsataa palvelinta ja otat käyttöön uuden tietoturvaratkaisun, joka on riippuvainen tietystä jokaisella isännöintikoneella käynnissä olevasta palvelusta.

Palvelimille manuaalinen kirjautuminen on hidasta ja virhealtista. Yksi PowerShell-skripti voi tarkastella kaikkia palvelimia minuuteissa, raportoida, millä isännillä palvelu jo toimii, ja jopa ottaa sen käyttöön muilla. Skripti tallentaa tarkoituksen kerran ja soveltaa sitä luotettavasti koko palvelimeen.

UKK

PowerShell automatisoi Windows järjestelmänvalvojana toimii palveluiden, tiedostojen, käyttäjien ja palvelimien hallinta oliopohjaisen komentorivi- ja .NET-kehykseen perustuvan komentosarjakielen avulla.

Cmdlet on kevyt .NET-luokkaobjekti, joka käyttää verbi-substantiivi-nimeä ja palauttaa objekteja. Perinteinen komento muissa komentotulkeissa tuottaa pelkkää tekstiä ja hoitaa oman jäsentämisensä ja muotoilunsa.

PowerShell toimii objektien kanssa ja tukee cmdlettejä, komentosarjoja ja syvää .NET-integraatiota. Komentokehote on yksinkertainen tekstipohjainen komentotulkki, jonka komennot tuottavat pelkkää tekstiä objektien sijaan.

.ps1-tiedosto on PowerShell-skripti – tekstitiedosto, joka sisältää yhden tai useamman PowerShell-komennon. Oletusarvoisesti sitä ei voi suorittaa kaksoisnapsauttamalla; se suoritetaan konsolista tai valitsemalla Suorita PowerShellillä.

Avaa PowerShell järjestelmänvalvojana ja suorita Set-ExecutionPolicy arvolla, kuten RemoteSigned tai Unrestricted, ja vahvista sitten. Tarkista nykyinen asetus komennolla Get-ExecutionPolicy.

Integrated Scripting Environment (ISE) on PowerShellin sisäänrakennettu graafinen editori skriptien kirjoittamiseen, suorittamiseen, testaamiseen ja virheenkorjaukseen. Se sisältää syntaksin värityksen, välilehtien täydennyksen ja useita skriptivälilehtiä.

Tekoälyavustajat ehdottavat cmdlettejä, selittävät komentosarjojen toimintaa ja havaitsevat virheitä kirjoittaessasi. Ne auttavat järjestelmänvalvojia automatisoimaan tehtäviä nopeammin ja muuntamaan selkokielisiä pyyntöjä toimiviksi PowerShell-komennoiksi.

Kyllä. Tekoälykoodiavustajat luovat kokonaisia ​​PowerShell-skriptejä selkokielisen kuvauksen, kuten "listaa kaikki pysäytetyt palvelut ja käynnistä ne uudelleen", pohjalta ja selittävät jokaisen cmdlet-komentosarjan, jotta voit tarkastella sitä ennen suorittamista.

Tiivistä tämä viesti seuraavasti: