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> 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