Strømshell til begyndere (Del 7): røret (og mange eksempler at lege med)

efter den sjette del Kraftshell til begyndere (Del 6): Kraftshellprofiler og ISE dedikerer vi os til emnerne omkring røret. Men før vi tager et kig på dette svaret på den sjette øvelse. Vi vil også have en hurtig gennemgang af, hvad vi har lært indtil videre i Del 6.

anmeldelse (Del 6)

øvelse

åben ISE. Opret en profil til alle brugere. Indsæt kommandoen Start-transkription i første linje. Gem filen. Åbn Magtskallen. Hvad sker der for alle brugere?

dette var en meget god øvelse. Nogle selv-ros; -). Jeg var i stand til at forene to ting. Arbejde med ISE og en introduktion af en ny kommando: Start-udskrift. Nå, lad os starte med oprettelsen af Strømshell-profilen for alle brugere. Som beskrevet i den sidste del skal vi specificere stien til alle brugere.

New-Item $profile.AllUsersAllHosts -Force

Unbenannt.PNG

næste skal vi åbne den oprettede profil. Jeg anbefaler notesblok. Når den er åbnet, skal du skrive Start-Transcript og klikke på Gem.

 Unbenannt.PNG

nu kommer det magiske øjeblik. Luk notesblok og ISE. Som du kan se, optager Shelf nu. Start-Transcript registrerer alle dine input.

 Unbenannt.PNG

nu er det op til dig at teste det. Indtast et par kommandoer, og åbn udskriftsfilen. Placeringen af filen kan findes i din brugerprofil i mappen Dokumenter (som vist på skærmbilledet).

Resume

hvis du vil have strømshell til at gøre noget ved opstart, skal du oprette en Strømshell-profilfil. Vær opmærksom på Udførelsespolitikken. ISE er en kraftfuld script editor, der kan hjælpe dig med at skrive dine scripts.

Kraftshellrøret

nu kommer vi til næste del. Arbejde med røret. Det er en vigtig del af serien. Lad os dykke ind.

rørledningen til vinduer giver dig mulighed for at tilslutte to eller flere udsagn med et rørsymbol. Arbejde med røret er en nøgleteknik i Kraftshell. Du kan tænke på det som en slags objekt-videresendelse til andre Magtshell-kommandoer. Konkret tager røret alt til venstre for røret og videresender det til kommandoen til højre for røret.

først og fremmest er rørsymbolet placeret på dit tastatur. Du kan finde det på de fleste tastaturer her:

Unbenannt.JPG

så målet for nu at kombinere to kommandoer med et rør for at give dig et eksempel.

anmeldelse

arbejde med røret er en nøgleteknik i Kraftshell. Konkret tager røret alt til venstre for røret og videresender det til kommandoen til højre for røret.

et eksempel: Get-Process / Stop-Process

mange af jer tænker måske: “Hej, det er rart, men hvad er pointen?”Nu vil jeg vise dig rørets kraft i et simpelt eksempel. Lad os sige, at vi vil lukke alle Notesblok-og Malingsprocesser. Nå så lad os fange dem alle og rør dem til Stop-proces.

men vent et øjeblik. Før vi begynder, tager vi et kig på kommandoerne separat. På min computer er der 2 Notepad-processer og 2 Malingsprocesser.

 Unbenannt.PNG

når det er sagt, fanger Get-Process alle Notesblok og alle Malingsprocesser. Husk: røret tager alt til venstre for røret og videresender det til kommandoen til højre for røret.

så hvis vi sætter Get-Process på venstre side af røret og Stop-Process til højre side af røret, så skal alle disse processer stoppes.

Get-Process notepad,mspaint | Stop-Process

de er alle væk. Og hvis du sætter-verbose til slutningen af kommandoen, vil du se, at alle processer stopper med det samme, og at de alle har forskellige Proces-id ‘ er.

 Unbenannt.PNG

pipe.JPG

nogle flere eksempel at lege med …

stop services …

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

Unbenannt.JPG

viser de nyeste 5 hændelseslogfiler fra systemloggen i en pænt visning med ud-Gittervisning.

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

Unbenannt.JPG

Gennemse vinduerne setup log (placeret på C:\Windows\Panther) og søger den første vellykkede boot-post under installationen.

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

Unbenannt.JPG

søger efter unikke entrys …

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

Unbenannt.JPG

eller tælle noget …

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

2.JPG

at være mere specifik:

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

Unbenannt.JPG

For den videre del vil jeg koncentrere mig om tre kommandoer. Alle har at gøre med formatering og brug af røret, og de er perfekt egnede til begyndere. Lad os komme videre.

Hvad har vi lært indtil videre?

røret tager alt til venstre for røret og videresender det til kommandoen til højre for røret.

Piping to Format-Table, Format-List Og Format-bred

Format-Table

Format-Table cmdlet formaterer output fra en kommando. Og den bruges sammen med røret.

se på kommandoen nedenfor. Det viser dig et bord. Tabeloverskrifterne er tilstand, Sidstskrivetid, længde og navn.

 unbenannt41.png

denne tabel er foruddefineret. Men den gode nyhed er, at vi kan ændre bordet, så det passer til vores behov. Vær opmærksom på bordoverskrifterne. De har et navn. Og disse navne er meget vigtige for os. Hvordan kan du lide det:

Get-ChildItem | Format-Table Name,LastWriteTime

Unbenannt.PNG

alt du behøver at vide er overskriftstabellens navne. Derefter kan du omarrangere output med Format-tabel, eller du kan simpelthen udelade ting.

Lad mig give dig et andet eksempel. Get-Service viser alle vinduer tjenester. Ikke?

 Unbenannt.PNG

men jeg kan ikke lide denne visning. Jeg har kun brug for Status og navn. Dette er en nem opgave. Du skal blot rør det til Format-tabel og give Status og navn.

Get-Service | Format-Table Status,Name

Unbenannt.PNG

mere om Format-tabel i Microsoft Docs:

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

Format-liste

standardudgangen er forudkonfigureret af kommando. Nogle kommandoer udsender for meget information, og det er grunden til, at de ikke vises som en tabel, men som en liste. Get-NetIPConfiguration er sådan en kommando.

 Unbenannt.PNG

vi kender nu listeoverskrifterne. Lad os rør denne kommando for at formatere listen og kun vælge IPv6-adressen og IPv4-adressen.

Get-NetIPConfiguration | Format-List IPv4Address,IPv6Address

Unbenannt.PNG

pæn. Bliv ikke distraheret af parenteserne. I baggrunden startes en handling, der får IP-adressen. Det er hvad parenteserne er til.

vi kan også formatere output fra Get-ChildItem til en liste.

Get-ChildItem | Format-List Name,LastWriteTime

Unbenannt.PNG

mere om Format-liste her:

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

Format-bred

sidst, men ikke mindst den sidste kommando for i dag. Det hedder Format-bredt, og navnet fortæller os, hvad det gør: formatering af noget i et bredt format.

 Unbenannt.PNG

Microsoft Docs til Format-bred:

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

anmeldelse

Format-tabel, Format-liste og Format-bred justerer output af en kommando. Brug det med et rør.

Format-tabel, Format-liste, Format-bred i avanceret tilstand

det er ikke slutningen på denne artikel. Nu vil jeg vise dig nogle interessante og nyttige ting om formatering. Det er en lille samling af mine mest nyttige formateringsparametre.

Format-tabel-Autosiser

parameteren justerer kolonnestørrelsen baseret på dataens bredde.

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

Unbenannt.PNG

Format-Tabelomslag

viser tekst, der overstiger kolonnebredden. Som standard afkortes tekst, der overstiger kolonnebredden.

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

Unbenannt.PNG

Format-bred-kolonne

Angiv antallet af kolonner.

Get-ChildItem | Format-Wide -Column 3

Unbenannt.PNG

nogle flere eksempler … Active Directory (Side Note)

hvis du arbejder med Active Directory, kan du også bruge formatkommandoerne til at vise brugere. Log ind på en domænecontroller og start . Her er nogle eksempler:

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

1.JPG

Format-tabel giver kun mening med et par egenskaber. Brug Format-liste til at liste mere:

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

Unbenannt.JPG

eller gør det for alle brugere med filter * – parameteren.

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

Unbenannt.JPG

ligheder med berømte mennesker fra filmen pumping iron er rent tilfældigt

øvelse

det er det for i dag. Her er øvelsen op til næste del.

Kør Hent-Opdatering. Vis kun nummeret (KB) på opdateringen og installationsdatoen i listeformat.

løsningen findes i næste del.

vi ses på næste artikel: Kraftshell for begyndere (Del 8): magtens Kraftshell-at komme i kontakt med objekter (Get-medlem, Vælg-objekt)

Patrick Gruenauer, MVP Kraftshell

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.