PowerShell for Beginners (Part 7): the Pipe (and many examples to play with)

After the sixth part PowerShell for Beginners (Part 6): PowerShell Profiles and the ISE, we dedicated ourselves to the topics around the pipe. Mutta ennen kuin tarkastelemme tätä kuudennen harjoituksen vastausta. Meillä on myös nopea katsaus, mitä olemme oppineet tähän mennessä osa 6.

Review (osa 6)

Exercise

Open ISE. Luo PowerShell-profiili kaikille käyttäjille. Aseta komento Start-transkriptio ensimmäiselle riville. Tallenna tiedosto. Avaa PowerShell. Mitä tapahtui kaikille käyttäjille?

tämä oli erittäin hyvä harjoitus. Jotkut itsekehua; -). Onnistuin sovittamaan yhteen kaksi asiaa. Työskentely ISE ja Esittelyssä uusi komento: Start-transkription. No, aloitetaan luomalla PowerShell profiili kaikille käyttäjille. Kuten kuvattu viimeisessä osassa meidän täytyy määrittää kaikki käyttäjät polku.

New-Item $profile.AllUsersAllHosts -Force

Unbenannt.PNG

seuraavaksi on avattava luotu profiili. Suosittelen muistilehtiötä. Kun se on avattu, Kirjoita Start-transkriptio ja valitse Tallenna.

 Unbenannt.PNG

nyt tulee maaginen hetki. Sulje muistio ja ISE ja avaa PowerShell. Kuten näet PowerShell nauhoittaa nyt. Start-transkripti tallentaa kaikki tulot.

 Unbenannt.PNG

nyt voit testata sitä. Anna muutama komento ja avaa transkriptiotiedosto. Tiedoston sijainti löytyy käyttäjän profiilin asiakirjat-kansiosta (kuten kuvakaappauksessa).

Summary

jos haluat saada PowerShellin tekemään jotain käynnistyksessä, luo PowerShell-profiilitiedosto. Ole tietoinen Toteutuskäytännöstä. PowerShell ISE on tehokas skriptieditori, joka voi auttaa sinua kirjoittamaan skriptejä.

PowerShell Pipe

nyt tullaan seuraavaan osaan. Työskentelen putken kanssa. Ja tämä on keskeinen osa sarjaa. Sukelletaan.

Windows PowerShell pipeline mahdollistaa kahden tai useamman lausekkeen liittämisen putkisymbolilla. Putken kanssa työskentely on powershellissa keskeinen tekniikka. Voit ajatella sitä eräänlaisena objektina-edelleenlähetyksenä muille PowerShell-komennoille. Konkreettisesti putki ottaa kaiken putken vasemmalta puolelta ja välittää sen putken oikealla puolella olevaan komentoon.

ensinnäkin piippusymboli sijaitsee näppäimistössäsi. Löydät sen useimmista näppäimistöistä täältä:

Unbenannt.JPG

niin, tavoite nyt se yhdistää kaksi komentoa putki antaa sinulle esimerkin.

Review

putken kanssa työskentely on keskeinen tekniikka Powershellissa. Konkreettisesti putki ottaa kaiken putken vasemmalta puolelta ja välittää sen putken oikealla puolella olevaan komentoon.

esimerkki: Get-Process / Stop-Process

moni saattaa ajatella: ”Hei, sehän on mukavaa, mutta mitä järkeä?”Nyt aion näyttää sinulle voimaa putken yksinkertaisesti esimerkki. Sanotaan, että haluamme sulkea kaikki Muistilehtiöt ja Maalausprosessit. Napataan heidät kaikki ja pysäytetään prosessi.

mutta hetkinen. Ennen kuin aloitamme, tarkastelemme komentoja erikseen. Tietokoneellani on 2 Muistilehtiötä ja 2 Maaliprosessia.

 Unbenannt.PNG

se sanoi, Get-prosessi saaliit kaikki Notepad ja kaikki maali prosessit. Muista: putki vie kaiken putken vasemmalta puolelta ja siirtää sen putken oikealle puolelle olevaan komentoon.

joten, jos laitamme Get-prosessin putken vasemmalle puolelle ja Stop-prosessin putken oikealle puolelle, niin kaikki nämä prosessit tulee pysäyttää.

Get-Process notepad,mspaint | Stop-Process

ne ovat kaikki poissa. Ja jos laitat-sanallisesti komennon loppuun, näet, että kaikki prosessit pysähtyvät välittömästi ja että niillä kaikilla on eri prosessitunnukset.

 Unbenannt.PNG

putki.JPG

jokin muu esimerkki pelattavaksi …

Pysäytyspalvelut …

Get-Service spool*,*bits* | Stop-Service -Verbose

Unbenannt.JPG

näytetään järjestelmälokin uusimmat 5 tapahtumalokia kauniisti näkymässä, jossa on ruudullinen näkymä.

Get-EventLog -LogName system -Newest 5 | Out-GridView

Unbenannt.JPG

selaamassa Windowsin asennuslokia (sijaitsee osoitteessa C:\Windows\Panther) ja etsii ensimmäisen onnistuneen käynnistyksen merkintä asennuksen aikana.

Get-ChildItem C:\Windows\Panther | Select-String 'First Boot'

Unbenannt.JPG

etsii ainutlaatuista sisäänkäyntiä …

Get-Content C:\Temp\file1.txt | Get-Unique

Unbenannt.JPG

tai laskea jotain …

Get-Content -Path C:\Temp\file1.txt | Get-Unique | Measure-Object

2.JPG

tarkemmin:

Get-Content -Path C:\Temp\file1.txt | Get-Unique | Measure-Object | Select-Object Count

Unbenannt.JPG

jatko-osassa keskityn kolmeen käskyyn. Kaikki ne liittyvät muotoiluun ja putken käyttöön ja ne sopivat täydellisesti aloittelijoille. Jatketaan.

mitä olemme tähän mennessä oppineet?

putki ottaa kaiken piipun vasemmalta puolelta ja välittää sen piipun oikealla puolella olevaan komentoon.

Piping to Format-Table, Format-List and Format-Wide

Format-Table

Format-Table cmdlet formatoi komennon tulosteen. Sitä käytetään putken kanssa.

Katso komento alta. Siinä näkyy pöytä. Taulukon otsikot ovat tila, LastWriteTime, pituus ja nimi.

 unbenannt41.png

tämä taulukko on ennalta määritelty. Mutta hyvä uutinen on, että voimme muokata pöytää tarpeidemme mukaan. Kiinnitä huomiota taulukon otsikot. Heillä on nimi. Ja nämä nimet ovat meille hyvin tärkeitä. Mitäs tuosta pidät?:

Get-ChildItem | Format-Table Name,LastWriteTime

Unbenannt.PNG

sinun tarvitsee tietää vain otsikkotaulukon nimet. Sitten voit järjestää lähtö Format-taulukko tai voit yksinkertaisesti jättää asioita.

annan toisen esimerkin. Get-palvelu näyttää kaikki Windows-palvelut. Eikö niin?

Unbenannt.PNG

, mutta en pidä tästä näkymästä. Tarvitsen vain statuksen ja nimen. Tämä on helppo tehtävä. Yksinkertaisesti putki se muoto-taulukko ja antaa tilan ja nimen.

Get-Service | Format-Table Status,Name

Unbenannt.PNG

lisää formaatti-taulukosta Microsoft Docsissa:

https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Format-Table?view=powershell-5.1

Format-List

oletusuloste on esiasetettu komennolla. Jotkut komennot tuottavat liikaa tietoa ja siksi niitä ei näytetä taulukkona, vaan listana. Get-NetIPConfiguration on tällainen komento.

 Unbenannt.PNG

tiedämme nyt listan otsikot. Let ’ s putki tämän komennon muoto-luettelo ja valitse vain IPv6Address ja IPv4Address.

Get-NetIPConfiguration | Format-List IPv4Address,IPv6Address

Unbenannt.PNG

Nizza. Älä anna kiinnikkeiden häiritä. Taustalla käynnistyy WMI-toiminto, joka saa IP-osoitteen. Sitä varten sulut ovat.

voimme myös formatoida Get-Childitemin tuotoksen listaksi.

Get-ChildItem | Format-List Name,LastWriteTime

Unbenannt.PNG

lisää formaatista-lista täällä:

https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Format-List?view=powershell-5.1

formaatin laajuinen

viimeinen, mutta ei vähiten viimeinen komento tälle päivälle. Se on nimeltään Format-Wide ja nimi kertoo, mitä se tekee: muotoilee jotain laajassa muodossa.

 Unbenannt.PNG

Microsoft Docs koko formaattiin:

https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Format-Wide?view=powershell-5.1

arvostelu

Format-Table, Format-List and Format-Wide säätää komennon ulostuloa. Käytä sitä putken kanssa.

Format-Table, Format-List, Format-Wide in Advanced Mode

That ’ s not the end of this article. Nyt aion näyttää mielenkiintoisia ja hyödyllisiä juttuja muotoilusta. Se on pieni kokoelma hyödyllisimmistä muotoiluparametreistani.

Format-Table-Autosize

parametri säätää sarakkeen kokoa tietojen leveyden perusteella.

Get-ChildItem C:\Temp | Format-Table -AutoSize

Unbenannt.PNG

Format-Table-Wrap

näyttää tekstin, joka ylittää sarakkeen leveyden. Oletusarvoisesti sarakkeen leveyden ylittävä teksti typistetään.

Get-EventLog -LogName Security -Newest 2 | Format-Table -Wrap

Unbenannt.PNG

formaatin laajuinen sarake

Määritä sarakkeiden lukumäärä.

Get-ChildItem | Format-Wide -Column 3

Unbenannt.PNG

joitakin muita esimerkkejä … Active Directory (sivuhuomautus)

jos työskentelet Active Directoryn kanssa, voit käyttää formaattikomentoja myös käyttäjien näyttämiseen. Kirjaudu toimialueen ohjaimeen ja käynnistä PowerShell. Tässä muutamia esimerkkejä:

Get-AdUser administrator -Properties * | Format-Table CN,Enabled,LastLogonDate,SID -AutoSize -Wrap

1.JPG

Format-taulukossa on järkeä vain muutamilla ominaisuuksilla. Käytä Format-List-luetteloa:

Get-ADUser administrator -Properties * | Format-List CN,Enabled,LastLogonDate,SID,Created,ProfilePath,ScriptPath,LockedOut

Unbenannt.JPG

tai tee se kaikille käyttäjille, joilla on suodatin * – parametri.

Get-ADUser -Filter * -Properties * | Format-Table CN,Enabled,LastLogonDate,SID -AutoSize -Wrap

Unbenannt.JPG

yhtäläisyydet kuuluisien henkilöiden kanssa elokuvasta pumping iron ovat puhtaasti sattumaa 😉

liikunta

se siitä tältä päivältä. Tässä on harjoitus seuraavaan osaan asti.

Aja Get-Hotfix. Näytä vain hotfixin numero (KB) ja asennuspäivä luettelomuodossa.

ratkaisu löytyy seuraavasta osasta.

See you at the next article: PowerShell for Beginners (Part 8): The Power of PowerShell – Getting in Touch with Objects (Get-Member, Select-Object)

Patrick Gruenauer, MVP PowerShell

Vastaa

Sähköpostiosoitettasi ei julkaista.