PowerShell-Komentoja Jokaisen Kehittäjän Pitäisi Tietää: 50+ Cmdlets for Getting Things Done -, Seuranta-Suorituskyky, Testaus

posted in: Articles | 0

Monet kehittäjät rakkaus PowerShell, ja hyvästä syystä: se lisää voimaa, toiminnallisuutta ja joustavuutta Windowsin komentokehotteen, jossa monet meistä viettävät paljon aikaa. Se ei kuitenkaan tule hieman oppimiskäyrä, mutta kun olet oppinut olennaiset komennot sinun täytyy tietää, se on tuottavuutta steroideja.,

PowerShell-komentoja kutsutaan cmdlets, ja nämä cmdlets ovat kantava voima sen toiminnallisia ominaisuuksia. Alkaen komentoja, jotka parantavat yleistä Windows kokemus komentoja hyödyllistä kehitystyötä, on olemassa kymmeniä tärkeitä komentoja kehittäjien pitäisi tietää., Olemme koonneet tähän luetteloon palvelemaan kätevä viittaus opas niille, jotka ovat juuri alkaneet hyödyntää valtaa PowerShell sekä niille, jotka haluavat taso-up heidän PowerShell kokemus, mukaan lukien:

  • Perus PowerShell Cmdlets
  • PowerShell-Komentoja Getting Things Done
  • Cmdlets Suorituskyvyn Seuranta, Testaus, ja Testaus

lisäksi cmdlets, on olemassa kymmeniä parametrit ja menetelmät, jotka auttavat sinua saamaan eniten irti skriptejä., WhatIf-parametri on erityisen hyödyllinen PowerShell-komentosarjojen testaamisessa ilman, että niitä todella ajetaan (@pluralsight). Kullekin komennolle on tyypillisesti useita parametreja ja menetelmiä. Alla luetellut komennot ovat hyvä lähtökohta mille tahansa kehittäjälle, mutta täyden hyödyn saavuttamiseksi kannattaa hallita myös parametreja ja muita menetelmiä.

Perus PowerShell Cmdlets

Nämä perus-PowerShell-komentoja on hyödyllistä saada tietoa eri muodoissa, suojausasetusten määrittäminen, ja perus raportointi.,

Get-Command

Get-Command on helppokäyttöinen viite cmdlet, joka tuo esiin kaikki käytössä olevat komennot nykyisessä istunnossa.

kirjoita tämä komento:

get-command

lähtö näyttää tältä (@MS_ITPro):

2. Get-Help

Get-Help-komento on tärkeää kaikille, käyttämällä PowerShell, joka tarjoaa nopean pääsyn tietoa sinun täytyy ajaa ja työskennellä kaikki käytettävissä olevat komennot.

Jos haluat esimerkkejä, esimerkiksi, olisit kirjoita seuraavat (@jp_jofre):

3., Set-ExecutionPolicy

Microsoft poistaa scripting oletuksena estää vahingollisten komentosarjojen suorittamisen PowerShell-ympäristöön. Kehittäjät haluavat kuitenkin pystyä kirjoittamaan ja suorittamaan skriptejä, joten Set-ExecutionPolicy-komennon avulla voit hallita PowerShell-komentosarjoja ympäröivän turvallisuuden tasoa. Voit asettaa yksi neljästä turvallisuuden tasoa:

  • Rajoitettu: Tämä on oletusarvo turvallisuuden taso, joka estää PowerShell skriptit käynnissä. Tällä tietoturvatasolla voit syöttää komentoja vain vuorovaikutteisesti.,
  • kaikki allekirjoitettu: tämä turvallisuustaso sallii skriptien suorittamisen vain, jos ne on allekirjoittanut luotettava julkaisija.
  • Remote Signed: tässä tietoturvatasolla kaikki paikallisesti luodut PowerShell-skriptit ovat sallittuja. Etänä luotuja skriptejä saa käyttää vain, jos ne on allekirjoittanut hyvämaineinen julkaisija.
  • rajoittamaton: kuten sen nimi antaa ymmärtää, rajoittamaton turvallisuustaso sallii kaikkien skriptien suorittamisen poistamalla kaikki rajoitukset toteutuskäytännöstä.,

Vastaavasti, jos olet työskennellyt vieraassa ympäristössä, voit helposti selvittää, mitä nykyinen execution policy käyttää tätä komentoa:

Get-ExecutionPolicy

katso tämä kierre SuperUser lisätietoja määrittämisestä suorituksen politiikan PowerShell. (@StackExchange)

Get-Service

on myös hyödyllistä tietää, mitä palveluja järjestelmään on asennettu., Voit helposti käyttää tätä tietoa komennolla:

Get-Service

lähtö näyttää suunnilleen seuraavat (@MS_ITPro):

Jos haluat tietää, jos tietty palvelu on asennettu, voit liittää sen-Nimi-kytkin ja palvelun nimi, ja Windows näyttää valtion palvelun. Lisäksi voit hyödyntää suodatusvalmiuksia palauttaaksesi tietyn osajoukon tällä hetkellä asennetuista palveluista., Seuraava esimerkki seurauksena tuotos tiedot Get-Service-komennon, joka on ollut johdetaan Where-Object-cmdlet-komento, joka sitten suodattaa pois kaikki muut kuin palvelut, jotka on lopetettu:

Get-Service | Where-Object {$_.status -eq "stopped"}

tutustu tähän virkaan joitakin muita esimerkkejä Get-Palvelun toiminta.

5. ConvertTo-HTML

Jos sinun täytyy poimia tietoja, joita voit käyttää raportin tai lähettää joku muu, ConvertTo-HTML on yksi yksinkertainen tapa tehdä niin., Voit käyttää sitä, putken ulostulo toinen komento ConvertTo-HTML-komennolla ja käytä -Ominaisuus-kytkin määrittää, mitkä ulostulo ominaisuuksia haluat HTML-tiedoston. Sinun täytyy myös antaa Tiedoston nimi.

esimerkiksi seuraava koodi luo HTML-sivun, joka listaa PowerShell aliakset nykyisessä konsoli:

PS C:\> get-alias | convertto-html > aliases.htmPS C:\> invoke-item aliases.htm

Bonus:

Export-CSV

– cmdlet toimii paljon samalla tavalla, mutta viennin tiedot .CSV-tiedosto HTML: n sijaan., Käytä

Select-Object

määrittääksesi, mitkä ominaisuudet haluat sisällyttää tuotokseen.

Katso tämä artikkeli osoitteesta 4sysops saadaksesi lisätietoa Converto-HTML: n tehokkaasta käytöstä (@adbertram).

6. Get-EventLog

Voit itse käyttää PowerShell jäsentää kone on tapahtuma lokit käyttämällä Get-EventLog-cmdlet-komentoa. On olemassa useita parametreja saatavilla. Käytä Lokikytkintä, jota seuraa lokitiedoston nimi, nähdäksesi tietyn lokin., Olisit käytä seuraavaa komentoa, jos haluat esimerkiksi tarkastella Sovelluksen loki:

Get-EventLog -Log "Application"

tutustu muutamia esimerkkejä Get-EventLog toiminnassa tämä viesti (@nextofwindows). Muita yleisiä parametreja ovat (@SS64):

  • -Verbose
  • -Debug-tietoihin
  • -ErrorAction
  • -ErrorVariable
  • -WarningAction
  • -WarningVariable
  • -OutBuffer
  • -OutVariable

Hanki-Prosessi

Paljon kuin saada luettelon saatavilla olevista palveluista, se on usein hyödyllistä pystyä saada nopea luettelo kaikista käynnissä olevat prosessit., Get-Process-komento asettaa nämä tiedot käden ulottuville.

Bonus: Pysäytysprosessilla pysäytetään prosessit, jotka jäädytetään tai eivät enää vastaa. Jos et ole varma, mikä prosessi pitää sinut pystyssä, käytä Get-prosessia ongelmallisen prosessin tunnistamiseen nopeasti. Kun sinulla on nimi tai prosessin tunnus, käytä Stop-Process lopettaa sen.

tässä esimerkki., Suorita tämä komento lopettaa kaikki käynnissä olevat esiintymät Notepad (@MS_ITPro):

Stop-Process -processname notepad

Voit käyttää yleismerkkejä, liian, kuten seuraavassa esimerkissä, joka irtisanoo kaikki esiintymät Notepad sekä muita prosesseja, joiden alussa on huomautus:

Stop-Process -processname note*

katso tämä viesti lisätietoja siitä, tappaminen prosesseja Powershellissa (@howtogeek):

8. Clear-History

entä jos haluat tyhjentää merkinnät komentohistoriastasi? Helppokäyttöinen Clear-History cmdlet. Voit myös käyttää sitä poistaa vain tiettyjä komentoja., Esimerkiksi seuraava komento poistaa komentoja, jotka ovat ”apua” tai loppuun ”command” (@MS_ITPro):

PS C:\> Clear-History -Command *help*, *command

Jos haluat lisätä merkintöjä istuntoon, käytä:

Add-History

tutustu tämä viesti, saat hyödyllistä tietoa clearing historia ja pre-lastaus historiaa luettelo tiettyjä komentoja (@MS_ITPro).,

Missä-Objekti

Missä-Objekti on yksi tärkeimmistä cmdlets tietää, koska sen avulla voit ottaa aineisto ja välittää sen edelleen alas putki suodatus (@jonathanmedd):

Get-Service | Where-Object {$_.Status -eq 'Running'}Status Name DisplayName------ ---- -----------Running AdobeARMservice Adobe Acrobat Update ServiceRunning AppHostSvc Application Host Helper ServiceRunning Appinfo Application InformationRunning AudioEndpointBu... Windows Audio Endpoint BuilderRunning Audiosrv Windows AudioRunning BFE Base Filtering EngineRunning BITS Background Intelligent Transfer Ser...Running BrokerInfrastru... Background Tasks Infrastructure Ser...Running Browser Computer BrowserRunning CDPSvc Connected Devices Platform Service

10. Set-AuthenticodeSignature

Jos haluat pitää työsi turvallista tuotantoa ja estää muuttamista, käytä Set-AuthenticodeSignature lisää Authenticode allekirjoitus kirjoitus tai tiedoston.

PowerShell-Komentoja Getting Things Done

Kun se tulee tuottavuus, PowerShell voi auttaa sinua saamaan asiat tehdään seuraavat komennot.

11., ForEach-Object

ForEach-Object cmdlet suorittaa operaation jokaista kohdetta vastaan tietyssä tuloobjektien ryhmässä. Vaikka monet cmdlets työskennellä jokaisen esineen kokoelma, joka tapauksessa, tarvitset ForEach-Object sellaisia tilanteita varten, joissa haluat tehdä muita muutoksia, tai soveltaa erityisiä muotoiluja kaikkia esineitä kokoelma.

Here ’ s an example (@MS_ITPro)., Jos haluat näyttää luettelon prosessin nimet ja halua näitä nimiä render syaani, voit kokeilla seuraavia:

Get-Process | Write-Host $_.name -foregroundcolor cyan

Mutta edellä tuottaa seuraavan virheilmoituksen:

At line:1 char:25+ get-process | write-host <<<< $_.name -foregroundcolor cyan Write-Host : The input objectcannot be bound to any parameters for the command either because the command does nottake pipeline input or the input and its properties do not match any of the parametersthat take pipeline input.

Koska Write-Host-cmdlet-komentoa ei ymmärrä, mitä haluat tehdä tietoja, jotka on lähetetty yli putken.

Joten, käyttäen ForEach-Object-cmdlet-komentoa ratkaisee tämän ongelman:

Get-Process | ForEach-Object {Write-Host $_.name -foregroundcolor cyan}

katso tämä opetusohjelma lisätietoja ForEach-Object ja työskentely silmukoita (@tomsitpro).

12., Selkeä-Sisältö

Jos haluat poistaa sisällön kohde, mutta säilyttää kohde itse, voit käyttää Clear-Sisältöä cmdlet-komento:

Clear-Content C:\Temp\TestFile.txt

Voit myös käyttää tämä komento tyhjentää kaikki tiedostot, joilla on tietty tiedostotunniste. Seuraava koodi tyhjentää sisällön kaikkien tiedostojen kanssa .txt laajennus, esimerkiksi:

Clear-Content -path * -filter *.TXT –force

Voit myös käyttää yleismerkkejä. Plus, voit tyhjentää sisällön tahansa tiedoston, alkaen .txt tiedostot .dokumentti, .xls, ja enemmän.

Katso lisätietoja tästä postauksesta.

13., Checkpoint-Tietokone

Jos teet suuria muutoksia tai käynnissä riskialtista kokeilu, voit asettaa palautuspiste koneen kanssa Checkpoint-Tietokone-cmdlet-komentoa.

huomaa, että voit luoda palautuspisteen tällä cmdlet: llä vain kerran 24 tunnissa. Jos suoritat komennon uudelleen, se pitää edellisen palautuspisteen:

tutustu tämän artikkelin MCP Mag enemmän (@MCPmag).

vertailukohde

on usein hyödyllistä pystyä vertailemaan kahta kohdetta suoraan., Voit tehdä tämän käyttämällä Vertaile-Objekti, joka luo kertomuksen eroja kaksi sarjaa, kuten (@Marcam923):

15. ConvertFrom-StringData

Käytä ConvertFrom-StringData muuntaa merkkijono, joka sisältää yhden tai useamman arvo-pareja hash-taulukko. Tässä on esimerkki siitä, mitä komento näyttää tältä:

$settings = $TextData | ConvertFrom-StringData

Tämä komento on hyödyllinen eri tilanteissa, kuten silloin, kun haluat tallentaa asetukset, PowerShell script jotta muut voivat muokata asetuksia ilman toimimasta script-koodia suoraan.,

ConvertTo-SecureString

Muunna salattu standardin merkkijono turvallinen merkkijono tai teksti turvallinen merkkijono käyttäen ConvertTo-SecureString. Tämä cmdlet-komentoa käytetään yhdessä ConvertFrom-SecureString-ja Lue-Host (@AdmArsenal):

ConvertTo-XML

Käytä ConvertTo-XML-cmdlet-komentoa luoda XML-pohjainen esitystapa esine. Tätä kutsutaan myös serialisaatioksi, ja se on hyödyllinen prosessi tietojen tallentamiseksi myöhempää uudelleenkäyttöä varten. Huomaa, että on tärkeää, että ilmaisusi kirjoittaa esineitä putkistoon., Mitään käyttäen Kirjoita-Isäntä ei kirjoittaa putki ja siksi ei voi sarjoittaa. Tässä on esimerkki ConvertTo-XML-toiminnassa (@PetriFeed):

Get-Service wuauserv -ComputerName chi-dc04,chi-p50,chi-core01 |Export-Clixml -Path c:\work\wu.xml

erityiset cmdlet-komentoa käytetään yllä olevassa esimerkissä, Vienti-Clixml, sopii useimpiin tarkoituksiin. Se muuntaa PowerShell-lausekkeen tuotoksen XML: ksi ja tallentaa sen tiedostoon.

18. Uusi-AppLockerPolicy

Uusi-AppLockerPolicy luo uuden AppLocker politiikan luettelosta tiedosto, tiedot ja muun säännön luominen vaihtoehtoja., Yhteensä on viisi cmdlets, joiden avulla voit vuorovaikutuksessa AppLocker, mukaan lukien (@RootUsers_):

  • Hanki-AppLockerFileInformation: Saa tarvittavat tiedot luoda AppLocker sääntöjä luettelon tiedostoja tai event log.
  • Get-Applockerpoliticy: käytetään paikallisen, tehokkaan tai verkkotunnuksen Sovelluskäytännön noutamiseen.
  • New-Applockerpoliticy: kuten edellä mainittiin, tätä cmdlet: tä käytetään uusien Sovelluskäytäntöjen luomiseen.
  • Set-Applockerpoliticy: määrittää tietyn ryhmäkäytäntökohteen Sovelluskäytännön.,
  • Test-Applockerpoliticy: käytetään määrittämään, kykeneekö käyttäjä tai käyttäjäryhmä toteuttamaan tiettyjä toimia käytäntöön perustuen.

19. New-ItemProperty

New-ItemProperty luo esineelle uuden ominaisuuden ja määrittää sen arvon. Sen avulla voit esimerkiksi luoda ja muuttaa rekisterin arvoja ja tietoja (rekisteriavaimen ominaisuuksia).

tsekkaa tämä opetusohjelma mnaoumov.NET joitakin hyödyllisiä työkoiria käyttäen tätä cmdlet (@mnaoumov).

20. Uusi-objekti

luo Microsoft-instanssin.,NET Framework tai Component Object Model (COM)object, käytä New-Object cmdlet.

Tässä on esimerkki, joka luo uuden objektin Uusi-Esine, tallentaa sen muuttujaan, sitten putket sen Add-Jäsen, joka sitten lisää ominaisuuksia tai menetelmiä määritelty objekti luodaan (@gngrninja):

21. New-WebServiceProxy

New-WebServiceProxy luo verkkopalvelun proxy-objektin, jonka avulla voit käyttää ja hallita verkkopalvelua PowerShellin sisältä., Tämä cmdlet-komento on kaunis asia kehittäjille – se tekee tarpeettomaksi kirjoittaa paljon monimutkaista koodia yrittää saavuttaa jotain, PowerShell, kun voit yksinkertaisesti soittaa toinen palvelu, joka jo tekee sen mahdolliseksi.

Tässä on esimerkki:

Nyt, voit suorittaa seuraavat voit tarkastella kaikkia saatavilla olevia menetelmiä:

$proxy | gm -memberType Method

22. Uusi-WSManInstance

Samoin Uusi-WebServiceProxy, Uusi-WSManInstance luo uusi esiintymä resource management.,

katso tämä opetusohjelma täydellinen askel-askeleelta esimerkki siitä, miten saada tiedot, sinun täytyy suorittaa tämän komentosarjan onnistuneesti (@jonathanmedd).

23., Uusi-WSManSessionOption

Uusi-WSManSessionOption luo uuden istunnon hallinta hash-taulukko, jota käytetään syötteenä parametreja muut WS-Management cmdlets mukaan lukien:

  • Hanki-WSManInstance
  • Set-WSManInstance
  • Invoke-WSManAction
  • Connect-WSMan

Tässä on syntaksi (@SAPIENTech):

Valitse Kohde

Valitse Objekti cmdlet-komento valitsee määritellyt ominaisuudet yhden esineen tai ryhmä esineitä. Lisäksi, se voi valita ainutlaatuinen esineitä array tai tietty määrä esineitä alkuun tai loppuun taulukko.,

PS > Get-Process | Sort-Object name -Descending | Select-Object -Index 0,1,2,3,4

Tämä opetusohjelma tarjoaa lisätietoja eri tavoista, joilla voit käyttää Valitse-Objekti (@infosectactico).

On olemassa muita cmdlets, joilla on samankaltaisia toimintoja, kuten:

  • Valitse-String: Etsii tekstistä merkkijonoja tai tiedostoja.
  • Select-XML: Finds text in an XML string or document.

25. Set-Alias

Set-Alias on loistava komento tuottavuuden parantamiseksi. Sen avulla voit asettaa alias a-cmdlet-komentoa tai muita command elementti nykyisessä istunnossa (samanlainen pikanäppäin), joten voit työskennellä nopeammin.,

seuraava esimerkki määrittää Notepad np nykyisen istunnon käyttämällä Set-Alias (@powershellatoms):

New-Alias np c:\windows\system32\notepad.exe

Huomaa, että voit myös muokata PowerShell profiili aliakset käytät useimmiten (@howtogeek).

26. Set-StrictMode

Sarja-StrictMode vahvistetaan ja valvoo koodaus sääntöjä skriptit, käsikirjoitus lohkot, ja ilmaisuja. Se on hyödyllinen komento koodin laadun valvomiseksi ja sen estämiseksi, että laiskottelet ja kirjoitat huolimatonta koodia, kun kello on 3.00 ja et ole nukkunut kahteen päivään (@adbertram).,

Voit käyttää sitä, on olemassa kaksi tekijää harkitsemaan: -Pois-ja -Versio, ja Versio on kolme mahdollista arvoa:

  • Versio 1.0: Estää sinua käyttämästä muuttujia, joita ei ole alustettu (kuten Option Explicit VBScript)
  • Versio 2.0: Estää sinua käyttämästä muuttujia, joita ei ole alustettu, ja se estää myös soittamalla olematon ominaisuuksia esineitä, estää soittamasta toiminto kuin menetelmä, ja kielletään luominen muuttujat ilman nimeä.,
  • Version Latest: this option selects the latest StrictMode version available and uses it. Tämä on hyvä vaihtoehto, koska se tarkoittaa, että uusinta StrictMode-versiota käytetään riippumatta käyttämästäsi PowerShell-versiosta.

Wait-Job

Wait-Job tukahduttaa komentorivin, kunnes nykyisessä istunnossa käynnissä olevat taustatyöt ovat valmiit. Odotustyö ei kuitenkaan näytä työn tuotosta, vaan sitä voidaan käyttää Vastaanottotyön yhteydessä. Multitreading on mahdollista Powershellissa työpaikkojen ansiosta.

Write-Progress

Who doesn ’ t love a status bar?, Seuraa edistymistäsi käyttämällä Write-Progress-ohjelmaa, joka näyttää edistymispalkin Windowsin PowerShell-komentoikkunassa.

Tässä on esimerkki, joka antaa sinulle täyden edistymispalkki ja runtime jouset (@credera):

Cmdlets Suorituskyvyn Seuranta, Testaus, ja Testaus

On olemassa myös erilaisia cmdlets hyödyllinen kehittäjille, vianmääritys -, testaus -, virheenkorjaus ja seurantaa varten. Tässä muutamia sinun täytyy tietää.

Debug-prosessi

Kehittäjät rakastavat virheenkorjausta! No, pidämme siitä vielä enemmän, kun ei ole vikoja poistaa, mutta valitettavasti näin ei aina ole., Powershellilla voit debugoida prosessin Debug-Process cmdletin avulla.

voit myös debug-työt Debug-Jobilla (@MS_ITPro). Ja, voit asettaa keskeytyspisteitä tai käyttää odota-debuggeria cmdlet:

30. Poista käytöstä-PSBreakpoint

Jos sinulla on kerralla asettaa raja-arvot, mutta halua poistaa niitä, tehdä niin helposti käyttämällä Disable-PSBreakpoint, joka poistaa raja-arvot nykyisessä konsolissa. Tässä syntaksin (@ActiveXperts):

Disable-PSBreakpoint Disable-PSBreakpoint 

Vaihtoehtoisesti, jos haluat ottaa käyttöön raja-arvot nykyisessä konsoli, käytä Enable-PSBreakpoint.,

Hanki-Counter

Get-Laskuri saa real-time performance counter tietoja suorituskyvyn seuranta instrumentointi Windows-KÄYTTÖJÄRJESTELMÄ. Sitä käytetään saamaan suorituskykytietoja paikallisilta tai etätietokoneilta tietyin näytteenottovälein, jotka määrität.

tässä esimerkissä, saat laskuri asettaa näyte aikaväli määritelty maksimi näyte (@MS_ITPro):

PS C:\> Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 3

alla olevassa esimerkissä, tämä komento tulee erityinen laskuri useiden tietokoneiden tiedot:

32., Export-Counter

Export-Counter exports PerformanceCounterSampleSet objects as counter log files. Käytettävissä on kaksi ominaisuutta:

  • CounterSamples: saa ja asettaa laskureiden tiedot.
  • aikaleima: saa ja asettaa päivämäärän ja kellonajan, jolloin näytetiedot kerättiin.,

Ja useita menetelmiä, jotka kaikki periytyvät Object:

  • Equals(Object)
  • Viimeistele()
  • GetHashCode()
  • GetType()
  • MemberwiseClone()
  • ToString()

esimerkiksi seuraava komento käyttää Get-Counter kerätä Prosessori Aikaa tietojen ja vienti sen .blg-tiedoston käyttämällä Vienti-Counter (@TechGenix):

Get-Counter "\Processor(*)\% Processor Time" | Export-Counter -Path C:\Temp\PerfData.blg

33. Testipolku

Testipolku mahdollistaa sen, että voit tarkistaa, ovatko kohteet olemassa määrätyllä polulla., Esimerkiksi, jos aiot käyttää toista komentoa määritetyssä tiedostossa, saatat joutua tarkistamaan, että tiedosto on olemassa, jotta vältät virheen heittämisen.

Test-Path C:\Scripts\Archive

Jos kansio on olemassa, se tulee palauttaa True, jos se ei ole, se palauttaa False.

se voi toimia myös muiden PowerShell-palveluntarjoajien käyttämien polkujen kanssa. Esimerkiksi, jos sinun täytyy tietää, jos tietokoneessa on ympäristön muuttuja nimeltä käyttäjätunnus, voit käyttää seuraavia:

Test-Path Env:\username

Test-Polku toimii muuttujat, todistukset, aliaksia, ja toiminnot., Tutustu Technetistä tähän postaukseen saadaksesi lisätietoja (@MS_ITPro).

34. Get-WinEvent

Katso Windowsin tapahtumalokit Get-Wineventillä. Saat luettelon käytettävissä olevat lokit, käytä:

Get-WinEvent -ListLog *

Sitten, tarkastella yksityiskohtia erityinen kirjaudu, korvata * nimi (putken lähtö-muodossa-luettelosta näytä kaikki tiedot):

Get-WinEvent -ListLog $logname | fl *

Voit myös katsoa kaikki tapahtumat kirjaudu käyttäen:

Get-WinEvent -LogName System

katso tämä opetusohjelma lisätietoja (@rakheshster).,

Invoke-TroubleshootingPack

Vianmääritys pakkauksissa ovat kokoelmia PowerShell skriptit ja kokoonpanot, jotka auttavat sinua vianmääritys diagnosoida ja korjata yleisiä ongelmia (@ITNinjaSite). Löytää vianmääritys pakkauksissa:

C:\Windows\Diagnostics\System

Et voi suorittaa tämän komentosarjan saada luettelon kaikista vianmääritys pakkauksissa saatavilla nykyinen järjestelmä (@TechGenix):

Get-ChildItem C:\Windows\Diagnostic\System

Sitten, kohonnut PowerShell ikkuna, suorita vianmääritys pack käyttää tätä komentoa:

Invoke-TroubleshootingPack (Get-TroubleshootingPack C:\Windows\diagnostics\system\networking)

36., Measure-Command

Jos haluat aikaistaa operaatioita Powershellissa, Measure-Command on must-know cmdlet. Se mittaa, kuinka kauan skripti tai scriptblock ajaa. Tässä on esimerkki (@ToddKlindt):

Measure-Command { Mount-SPContentDatabase –Name wss_content_portal –WebApplication http://portal.contoso.com }

lähtö on Aikaväli esine, joten se sisältää ominaisuuksia, kuten Tunti, Minuutti, sekunti, jne., ja se on helppo räätälöidä ulostulo mieltymysten mukaan.

mitta-esine

saatat myös haluta tietää, kuinka suuri tietty esine on., Käytä Toimenpide-Objekti laskea numeerisia ominaisuuksia tahansa esine, mukaan lukien merkit, sanat ja rivit merkkijono-objekti, kuten tiedostoja tekstiä.,

Vain määrittää nimi ja tyyppi mittaus suorittaa yhdessä parametrit, kuten (@WindowsITPro):

  • -Summa: lisää arvot
  • -Keskiarvo: laskee keskimääräinen arvo
  • -Minimi: löytää pienin arvo
  • -Enintään: löytää suurin arvo

seuraava komento summat VirtualMemorySize kiinteistöjen arvot kaikille prosessin esineitä:

Get-Process | measure VirtualMemorySize -Sum

Uusi-Tapahtuma

Uusi-Tapahtuma käytetään luoda uusi tapahtuma., Siihen liittyvä cmdlet on New-EventLog, joka luo uuden tapahtumalokin sekä uuden tapahtumalähteen paikalliselle tai etätietokoneelle. Jos sinulla on PowerShellin tukema automaatiomoottori, on hyvä käytäntö perustaa tapahtumaloki (luomalla mukautettu Tapahtumalokityyppi), joka kirjaa kaikki PowerShellin lähettämät viestit. Tämä on yksi esimerkki, jossa voit toteuttaa mukautetun kirjautumisen Event Viewer.,

Aloita luomalla uusi Tapahtuma Loki Loki (@BundaloVladimir):

New-EventLog -LogName Troubleshooting_Log -Source FalloutApp

Sitten, lähettää viestejä uusia event log, suorita seuraava käyttää Write-Log-cmdlet-komentoa:

Write-EventLog -log Troubleshooting_Log -source FalloutApp -EntryType Information -eventID 10 -Message "FalloutApp has been successfully installed"

Saada-Työ

Jos haluat saada tuloksia Windows PowerShell background työpaikkoja nykyisessä istunnossa, käyttää Saada-Työ. Tätä käytetään yleensä Start-Jobin käytön jälkeen työn aloittamiseen, kun sinun on katsottava tiettyjä tuloksia.,

Receive-Job -Name HighMemProcess

katso tämä hyödyllinen opetusohjelma käyttämällä Vastaanottaa Työn ja mitä tehdä, jos on olemassa näennäisesti mitään tuloksia (@proxb).

40. Rekisteri-EngineEvent

Tämä cmdlet-komentoa käytetään merkitsemään tapahtumia tuottamat Windows PowerShell moottori ja Uusi-Tapahtuma-cmdlet-komentoa. Esimerkiksi seuraava komento yhtyy tapahtuma, kun nykyinen PowerShell istunto poistuu ja tallentaa tietoja (kuten päivämäärä ja kellonaika) lokitiedostoon (@jonathanmedd):

Register-EngineEvent PowerShell.Exiting-Action {"PowerShell exited at " + (Get-Date) | Out-File c:\log.txt -Append}

41., Rekisteri-ObjectEvent

Rekisteröidy-ObjectEvent on samanlainen Rekisteri-EngineEvent, mutta sen sijaan tilata tapahtumia syntyy PowerShell-moottori ja Uusi-Tapahtuma, se yhtyy tapahtumia luotu Microsoft .NET Framework Kohde.

Tässä on esimerkki (@NetworkWorld):

On olemassa muita Rekisteri – cmdlets, että saatat löytää hyödyllistä, kuten:

  • Rekisteröidy-PSSessionConfiguration: Luo ja rekisteröi uuden istunnon kokoonpano.
  • Register-WmiEvent: tämä cmdlet tilaa WMI-tapahtuman.

42., Poista-Tapahtuma

Kun haluat poistaa tapahtuman, käytä Poista-Tapahtuma-cmdlet-komentoa. Jos haluat poistaa kokonaisen tapahtumapäiväkirjan, käytät Remove-Eventlogia, joka poistaa tapahtumapäiväkirjan tai rekisteröi tapahtumalähteen.

vaihtoehtoisesti rekisteröimätön tapahtuma peruuttaa tapahtuman tilauksen, mutta ei poista tapahtumaa tapahtumajonosta (@SS64).

43. Set-PSDebug

tämä cmdlet kääntää skriptin virheenkorjausominaisuudet päälle ja pois päältä. Se myös määrittää jäljitystason ja vaihtaa Striktmode.,

käyttämällä Set-PSDebug yläreunassa script-tiedoston vain, kun param () – käskyn (jos sellainen on), voit estää virheitä PowerShell skriptejä, jotka ei tarjoa riittävästi tietoja vianmääritystä varten. Tässä esimerkki (@r_keith_hill):

44. Start-Sleep

Jos sinun täytyy keskeyttää toiminnan käsikirjoitusta tai istunto, käytä Start-Unen, joka pysäyttää toimintaa tietyn ajan.

Start-Sleep -Seconds xxxStart-Sleep -Milliseconds xxx

Jos joudut keskeyttämään yhden tai useamman käynnissä olevan palvelun, käyttäisit Suspend-palvelua.

45., Tee-Objekti

Jos olet analysoida suorituskykyä tai koodin laatua, se on hyödyllistä pystyä tarkastelemaan tuotos komennon. Tee-Objekti tallentaa komennon ulostulo tiedostoon tai muuttuja ja myös näyttää sen konsoli, jos se on viimeinen muuttuja valmisteilla. Jos se ei ole viimeinen muuttuja putkessa, Tee-esine lähettää sen putkistoon.

Here ’ s the syntax:

46. Testi-AppLockerPolicy

Test-AppLockerPolicy arvioi, onko input-tiedostot ovat sallittuja ajaa tietyn käyttäjän perustuu määritettyyn AppLocker politiikkaa.,

Test-AppLockerPolicy -Path Test-AppLockerPolicy -Path 

Tämä opetusohjelma tarjoaa lisätietoja käytettävissä olevat parametrit ja esimerkkejä Testi-AppLockerPolicy toiminnassa (@powershellhelp).

Test-ComputerSecureChannel

tämä cmdlet testaa ja korjaa paikallisen tietokoneen ja sen verkkotunnuksen yhteyden. Ilman tätä komentoa, tavallinen ratkaisu oli aiemmin poistaa tietokoneen sen verkkotunnuksen ja kytke se sitten uudelleen, jotta voit palauttaa suhdetta. Test-ComputerSecureChannel mahdollistaa yhteyden palauttamisen lyhyemmässä ajassa (@WindowsITPro).,

Kun se on allekirjoitettu paikallisena järjestelmänvalvojana, yksinkertaisesti suorita seuraava:

Test-ComputerSecureChannel –credential WINDOWSITPRO\Administrator –Repair

Voit käyttää Testi-Yhteyden lähettää Internet Control Message Protocol (ICMP) echo request-paketteja (ping) yksi tai useampia tietokoneita.

Testipolku

käytä Testipolkua määrittääksesi, onko kaikki polun osat olemassa. Pohjimmiltaan se auttaa käsittelemään virheitä ennen kuin ne tapahtuvat. Sen yksinkertaisin muoto, se palauttaa True tai False (@MCPmag):

PS C:\> test-path c:\TruePS C:\> test-path z:\fooFalse

49. Trace-Command

Trace-Command määrittää ja aloittaa tietyn komennon tai lausekkeen jäljittämisen., Voit käyttää sitä, sinun täytyy myös käyttää Get-TraceSource jotta etsiä tiettyä nimeä käyttämällä yleismerkkejä:

PS&gt; Get-TraceSource -Name *param*

Voit suodattaa tuotos vastaa kuvausta kuvio olet jälkeen. Kun olet tunnistanut mahdollisen jäljitysnimen, käytät Trace-komentoa saadaksesi tarvitsemasi vastaukset. Tässä on esimerkki:

katso tämä viesti lisätietoja pelaa etsivä Trace-Komennolla (@PowerShellMag).

50. Write-Debug

Write-Debug kirjoittaa konsolille vianetsintäviestin., Kun kirjoitat tämän funktion tai skriptin, se ei tee mitään oletusarvoisesti; viestit lähinnä makasi odottaa, kunnes voit joko muokata $DebugPreference tai aktivoi -debug-kytkin, kun soittaa toiminto, tai script. Kun $ DebugPreference on asetettu ’inquire’ tai-debug-kytkin aktivoidaan, viesti luo keskeytyspisteen, jolloin voit helposti pop debug-tilaan.

Ota tämä esimerkki (@RJasonMorgan):

esimerkissä saadaan seuraavat, kun ajaa -debug:

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *