Příkazy PowerShell Každý Vývojář By měl Vědět: 50+ Rutin pro Získání Věci Udělat, Sledování Výkonu, Ladění

posted in: Articles | 0

Mnozí vývojáři rádi PowerShell, a to z dobrého důvodu: je to dodává sílu, funkčnost a flexibilitu systému Windows Příkazového Řádku, kde mnoho z nás tráví hodně času. To dělá, nicméně, přijít s trochou křivky učení, ale jakmile jste zvládli základní příkazy, které potřebujete vědět, je to Produktivita na steroidy.,

příkazy PowerShell jsou známé jako cmdlety a tyto cmdlety jsou hnací silou jeho funkčních schopností. Od příkazů, které zlepšují celkový zážitek z Windows, až po příkazy užitečné pro vývojovou práci, by měly vědět desítky důležitých vývojářů příkazů., My jsme dali dohromady tento seznam sloužit jako šikovný referenční příručka pro ty, kteří jsou teprve na začátku, aby proniknout do moci PowerShell, stejně jako ti, kteří chtějí, aby úroveň-up své PowerShell zkušenosti, včetně:

  • Základní Rutiny prostředí PowerShell
  • PowerShell Příkazy pro Získání něco Udělat
  • Rutin pro Monitorování, Testování a Ladění

kromě rutin, jsou tam desítky parametrů a metody, které vám pomohou získat co nejvíce z vašich skriptů., Parametr WhatIf je zvláště užitečný pro testování skriptů PowerShell bez jejich skutečného spuštění (@pluralsight). Pro každý příkaz je obvykle k dispozici několik parametrů a metod. Níže uvedené příkazy jsou dobrým výchozím bodem pro každého vývojáře, ale abyste si plně uvědomili výhody, měli byste také zvládnout parametry a další metody.

základní PowerShell Cmdlets

tyto základní příkazy PowerShell jsou užitečné pro získávání informací v různých formátech, konfiguraci zabezpečení a základního hlášení.,

Get-Command

Get-Command je snadno použitelný referenční cmdlet, který vyvolá všechny příkazy dostupné pro použití v aktuální relaci.

Jednoduše zadejte tento příkaz:

get-command

výstup bude vypadat nějak takto (@MS_ITPro):

2. Get-Help

příkaz Get-Help je nezbytný pro každého, kdo používá PowerShell a poskytuje rychlý přístup k informacím, které potřebujete ke spuštění a práci se všemi dostupnými příkazy.

Pokud byste chtěli nějaké příklady, například byste zadali následující (@jp_jofre):

3., Set-ExecutionPolicy

Microsoft ve výchozím nastavení zakáže skriptování, aby se zabránilo spuštění škodlivých skriptů v prostředí PowerShell. Vývojáři však chtějí být schopni psát a spouštět skripty, takže příkaz Set-ExecutionPolicy umožňuje ovládat úroveň zabezpečení okolních skriptů PowerShell. Můžete nastavit jednu ze čtyř úrovní zabezpečení:

  • Omezení: Toto je výchozí úroveň zabezpečení, která blokuje PowerShell skriptů. V této úrovni zabezpečení můžete příkazy zadávat pouze interaktivně.,
  • all Signed: tato úroveň zabezpečení umožňuje skripty spouštět pouze v případě, že jsou podepsány důvěryhodným vydavatelem.
  • Remote Signed: v této úrovni zabezpečení jsou povoleny všechny skripty PowerShell, které byly vytvořeny lokálně. Skripty vytvořené na dálku mohou běžet pouze tehdy, pokud byly podepsány renomovaným vydavatelem.
  • neomezené: jak již název napovídá, neomezená úroveň zabezpečení umožňuje spouštět všechny skripty odstraněním všech omezení z politiky provádění.,

stejně tak, pokud pracujete v neznámém prostředí, můžete snadno zjistit, co je aktuální zásady provádění pomocí tohoto příkazu:

Get-ExecutionPolicy

Podívejte se na toto vlákno na SuperUser pro více informací o konfiguraci zásad spouštění PowerShell. (@StackExchange)

get-Service

je také užitečné vědět, jaké služby jsou v systému nainstalovány., Můžete snadno přístup k této informace s následující příkaz:

Get-Service

výstup bude vypadat podobně jako následující (@MS_ITPro):

Pokud potřebujete vědět, jestli konkrétní služba je nainstalován, můžete připojit Jméno-přepínač a název služby, a Windows se zobrazí stav služby. Navíc můžete využít možnosti filtrování a vrátit konkrétní podmnožinu aktuálně nainstalovaných služeb., Následující příklad bude mít za následek výstup dat z Get-příkaz Služby, který byl odvedený na Kde-Objekt rutiny, které se pak filtruje všechno jiné než služby, které byly zastaveny:

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

Podívejte se na tento post pro některé další příklady Si-Služby v akci.

5. ConvertTo-HTML

Pokud potřebujete extrahovat data, která můžete použít ve zprávě, nebo poslat na někoho jiného, ConvertTo-HTML je jeden jednoduchý způsob, jak tak učinit., Chcete-li jej použít, přeneste výstup z jiného příkazu do příkazu ConvertTo-HTML a pomocí přepínače-Property určete, které výstupní vlastnosti chcete v souboru HTML. Budete také muset zadat název souboru.

například, následující kód vytvoří HTML stránku, která obsahuje seznam PowerShell aliasy v současné konzole:

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

Bonus:

Export-CSV

rutiny funkce v podstatě stejným způsobem, ale export dat do .Soubor CSV spíše než HTML., Pomocí

Select-Object

určete, které vlastnosti chcete do výstupu zahrnout.

podívejte se na tento článek od 4sysops pro více informací o účinném používání ConvertTo-HTML (@adbertram).

6. Get-EventLog

PowerShell můžete skutečně použít k analýze protokolů událostí vašeho počítače pomocí cmdletu Get-EventLog. K dispozici je několik parametrů. Pro zobrazení konkrétního protokolu použijte přepínač-Log následovaný názvem souboru protokolu., Použijte následující příkaz, například pro zobrazení protokolu Aplikace:

Get-EventLog -Log "Application"

Podívejte se na několik příkladů z Get-EventLog v akci v tomto příspěvku (@nextofwindows). Další společné parametry patří (@SS64):

  • -Verbose
  • -Debug
  • -ErrorAction
  • – „ErrorVariable“
  • -WarningAction
  • -WarningVariable
  • -OutBuffer
  • -OutVariable

Get-Process

Stejně jako získání seznamu dostupných služeb, je často užitečné mít možnost získat rychlý seznam všech aktuálně spuštěných procesů., Příkaz Get-Process dává tyto informace na dosah ruky.

Bonus: použijte Stop-proces k zastavení procesů, které jsou zmrazené nebo již nereagují. Pokud si nejste jisti, jaký proces vás drží, použijte Get-proces k rychlé identifikaci problematického procesu. Jakmile máte jméno nebo ID procesu, použijte Stop-Process k jeho ukončení.

zde je příklad., Spusťte tento příkaz ukončit všechny aktuálně spuštěné instance Poznámkový blok (@MS_ITPro):

Stop-Process -processname notepad

můžete použít zástupné znaky, jako je následující příklad, který ukončí všechny instance Poznámkový blok, stejně jako všechny další procesy počínaje poznámka:

Stop-Process -processname note*

Podívejte se na tento post pro více informací o zabíjení procesů s PowerShell (@howtogeek):

8. Clear-History

Co když chcete vymazat položky z historie příkazů? Snadné použití clear-historie cmdlet. Můžete jej také použít k odstranění pouze konkrétních příkazů., Například, následující příkaz by odstranit příkazy, které zahrnují „help“, nebo na konci v „command“ (@MS_ITPro):

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

Pokud chcete přidat položky do relace, použijte:

Add-History

Podívejte se na tento post pro některé užitečné informace o vymazání historie a pre-načítání historie se seznamem některých příkazů (@MS_ITPro).,

Kde-Objekt

Kde-Objekt je jedním z nejdůležitějších rutin vědět, jak to umožňuje, aby se datový soubor a předat to dále dolů potrubí pro filtrování (@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

Pokud chcete, aby se vaše bezpečné práce ve výrobě a předcházet pozměňování, použití Set-AuthenticodeSignature přidat podpis Authenticode do skriptu nebo souboru.

PowerShell Příkazy pro Získání něco Udělat

Pokud jde o produktivitu, PowerShell může pomoci s následujícími příkazy.

11., ForEach-Object

cmdlet ForEach-Object provádí operaci proti každé položce v zadané skupině vstupních objektů. Zatímco mnoho rutin práce se každý objekt v kolekci, stejně, budete potřebovat ForEach-Object pro ty situace, ve kterých chcete, aby se další úpravy, nebo použít specifické formátování všech objektů v kolekci.

zde je příklad (@MS_ITPro)., Pokud chcete zobrazit seznam názvy procesů a chci ty jména k tomu, aby ve azurová, můžete zkusit následující:

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

Ale výše vytvoří následující chyba:

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.

Protože Napsat-Hostitel rutiny nechápe, co chcete dělat s data, která je odeslána přes potrubí.

pomocí ForEach-Object rutiny řeší tento problém:

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

Podívejte se na tento návod pro více informací o ForEach-Object a práci se smyčkami (@tomsitpro).

12., Vymazat-Obsah

Pokud chcete odstranit obsah položky, ale ponechat samotné položky, budete používat Jasné-Obsah rutinu:

Clear-Content C:\Temp\TestFile.txt

můžete také použít tento příkaz vymazat obsah všech souborů s určitou příponou. Následující kód by vymazat obsah všech souborů s.txt rozšíření, například:

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

můžete také použít zástupné znaky. Navíc můžete vymazat obsah jakéhokoli typu souboru, z.txt soubory .doc, .xls a další.

podívejte se na tento příspěvek pro více informací.

13., Checkpoint-Computer

Pokud provádíte významné změny nebo provádíte riskantní experiment, můžete pomocí Checkpoint-computer cmdlet nastavit bod obnovení na vašem počítači.

Všimněte si, že pomocí tohoto cmdletu můžete vytvořit bod obnovení pouze jednou za 24 hodin. Pokud spustíte příkaz znovu, to bude držet předchozí bod obnovení:

Podívejte se na tento článek od MCP Mag pro více (@MCPmag).

Compare-Object

je často užitečné porovnat dva objekty přímo., Můžete to udělat pomocí porovnávacího objektu, který generuje zprávu o rozdílech mezi dvěma sadami, jako je (@Marcam923):

15. ConvertFrom-StringData

použijte ConvertFrom-StringData převést řetězec obsahující jeden nebo více párů hodnot do tabulky hash. Zde je příklad toho, co příkaz vypadá takto:

$settings = $TextData | ConvertFrom-StringData

Tento příkaz je užitečný v různých situacích, například když chcete uložit nastavení pro PowerShell skriptu umožnit ostatním upravit nastavení, aniž pracující v kódu skriptu přímo.,

ConvertTo-SecureString

převést šifrovaný standardní řetězec na zabezpečený řetězec nebo prostý text na zabezpečený řetězec pomocí ConvertTo-SecureString. Tato rutina se používá ve spojení s ConvertFrom-SecureString a Read-Hostitel (@AdmArsenal):

ConvertTo-XML

Použijte ConvertTo-XML rutiny pro vytvoření XML reprezentaci objektu. To se také nazývá serializace a je to užitečný Proces pro ukládání dat pro pozdější opětovné použití. Všimněte si, že je důležité, aby váš výraz zapisoval objekty do potrubí., Všechno, co používá Write-Host, nebude psát do potrubí, a proto nemůže být serializováno. Zde je příklad ConvertTo-XML v akci (@PetriFeed):

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

konkrétní rutiny použité ve výše uvedeném příkladu, Export-Clixml, je vhodné pro většinu účelů. Převádí výstup výrazu PowerShell na XML a uloží jej do souboru.

18. New-AppLockerPolicy

New-AppLockerPolicy vytvoří novou politiku AppLocker ze seznamu informací o souboru a dalších možností vytváření pravidel., Celkem existuje pět rutin, které vám umožní komunikovat s AppLocker, včetně (@RootUsers_):

  • Get-AppLockerFileInformation: Dostane požadované informace pro vytvoření AppLocker pravidla ze seznamu souborů nebo protokolu událostí.
  • Get-AppLockerPolicy: Používá se k načtení místní, efektivní nebo domény AppLocker politiky.
  • New-AppLockerPolicy: jak již bylo zmíněno, tento cmdlet se používá pro vytváření nových politik AppLocker.
  • Set-AppLockerPolicy: nastaví politiku AppLocker pro zadaný objekt zásad skupiny.,
  • Test-AppLockerPolicy: Používá se k určení, pokud uživatel nebo skupina uživatelů, budou moci provádět určité akce na základě politiky.

19. New-ItemProperty

New-ItemProperty vytvoří novou vlastnost pro položku a nastaví její hodnotu. Můžete jej použít například k vytváření a změně hodnot registru a dat (vlastnosti klíče registru).

podívejte se na tento tutoriál z mnaoumov.NET pro některé užitečné řešení pomocí tohoto cmdlet (@mnaoumov).

20. New-Object

pro vytvoření instance Microsoft .,NET Framework nebo Component Object Model (COM) objekt, použijte nový objekt cmdlet.

Zde je příklad, který vytváří nový objekt pomocí New-Object, ukládá je do proměnné, pak trubky, aby to Add-Člen, který se pak přidat vlastnosti nebo metody uvedené v objekt vytvořen (@gngrninja):

21. New-WebServiceProxy

New-WebServiceProxy vytvoří Web service proxy objekt, který vám umožní používat a spravovat webové služby v rámci PowerShell., Tento cmdlet je pro vývojáře krásná věc-je zbytečné psát spoustu složitého kódu, abyste se pokusili něco dosáhnout v PowerShell, když můžete jednoduše zavolat jinou službu, která to již umožňuje.

zde je příklad:

nyní můžete spustit následující zobrazení seznamu všech dostupných metod:

$proxy | gm -memberType Method

22. New-WSManInstance

podobně jako New-WebServiceProxy, New-WSManInstance vytváří novou instanci zdroje pro správu.,

Podívejte se na tento návod pro kompletní krok-za-krokem, příklad, jak získat informace, které potřebujete spustit tento skript úspěšně (@jonathanmedd).

23., Nové-WSManSessionOption

Nový-WSManSessionOption vytváří nové vedení zasedání hash tabulka, která je použita jako vstupní parametry pro další WS-Management rutiny, včetně:

  • Získat-WSManInstance
  • Nastavit-WSManInstance
  • Invoke-WSManAction
  • Připojení-WSMan

Tady je syntaxe (@SAPIENTech):

Select-Object

Vyberte Objekt rutiny vybere určité vlastnosti z jednoho objektu nebo skupiny objektů. Navíc může vybrat jedinečné objekty z pole nebo zadaného počtu objektů od začátku nebo konce pole.,

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

tento tutoriál poskytuje více informací o různých způsobech, jak můžete použít Select-Object (@infosectactico).

existují další cmdlety s podobnými funkcemi, včetně:

  • Select-String: najde text v řetězcích nebo souborech.
  • Select-XML: najde text v řetězci XML nebo dokumentu.

25. Set-Alias

set-Alias je skvělý příkaz pro zvýšení produktivity. Umožňuje nastavit alias pro cmdlet nebo jiný příkazový prvek v aktuální relaci (podobně jako klávesová zkratka), takže můžete pracovat rychleji.,

následující příklad nastaví Poznámkový blok np v aktuální relaci pomocí Set-Alias (@powershellatoms):

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

Všimněte si, že můžete také přizpůsobit své PowerShell profilu s aliasy, které používáte nejčastěji (@howtogeek).

26. Set-StrictMode

Set-StrictMode stanoví a vynucuje kódovací pravidla ve skriptech, skriptových blocích a výrazech. Je to užitečný příkaz pro prosazování kvalitu kódu a brání flákání off a psaní nedbalý kód, když to je 3:00 a ještě jsi neměl spát během dvou dnů (@adbertram).,

, Aby ji používat, tam jsou dva parametry, aby zvážila: -Off a -Verze a -Verze má tři možné hodnoty:

  • Verze 1.0: Zabrání použití proměnné, která ještě nebyla inicializována (jako Option Explicit v VBScript)
  • Verze 2.0: Zabrání použití proměnných, které nebyly inicializovány a také zabraňuje volání neexistující vlastnosti na objekty, zabraňuje voláním funkce jako metoda, a zakazuje vytváření proměnných bez názvu.,
  • verze nejnovější: tato volba vybere nejnovější verzi StrictMode k dispozici a používá ji. To je dobrá volba, protože to znamená, že nejnovější verze StrictMode se používá bez ohledu na verzi PowerShell, kterou používáte.

Wait-Job

Wait-Job potlačuje příkazový řádek, dokud nejsou dokončeny úlohy na pozadí spuštěné v aktuální relaci. Wait-Job nezobrazuje výstup z pracovních míst, nicméně, ale může být použit ve spojení s Příjem-Job. Multithreading je možné v PowerShell díky-Jobs.

write-Progress

kdo nemá rád stavový řádek?, Sledujte svůj pokrok pomocí write-Progress, který zobrazuje ukazatel průběhu v okně příkazu Windows PowerShell.

Zde je příklad, který vám dává plnou progress bar a runtime řetězců (@credera):

Rutin pro Monitorování, Testování a Ladění

k Dispozici jsou také různé rutiny užitečné pro vývojáře pro řešení problémů, testování, ladění a sledování účely. Zde je několik, co potřebujete vědět.

ladicí proces

vývojáři milují ladění! No, Líbí se nám to ještě víc, když nejsou žádné chyby k odstranění, ale bohužel tomu tak není vždy., S PowerShell můžete ladit proces pomocí debug-Process cmdlet.

můžete také ladit úlohy pomocí Debug-Job (@MS_ITPro). A můžete nastavit body přerušení nebo použít cmdlet Wait-Debugger:

30. Disable-PSBreakpoint

Pokud máte najednou nastavené body přerušení, ale chcete je odstranit, snadno použijte Disable-PSBreakpoint, který zakáže body přerušení v aktuální konzoli. Zde je syntaxe (@ActiveXperts):

Disable-PSBreakpoint Disable-PSBreakpoint 

Případně, pokud chcete povolit zarážky v současné konzole, pomocí Enable-PSBreakpoint.,

get-Counter

get-Counter získává data čítače výkonu v reálném čase z přístrojů pro sledování výkonu v operačním systému Windows. Používá se k získání údajů o výkonu z místních nebo vzdálených počítačů v určitých vzorových intervalech, které zadáte.

V tomto příkladu, budete mít čítač nastavit s vzorkovací interval pro určitý maximální vzorku (@MS_ITPro):

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

V příkladu níže, tento příkaz dostane konkrétní čítač dat z více počítačů:

32., Export-Counter

Export-Counter exports PerformanceCounterSampleSet objekty jako Counter log soubory. K dispozici jsou dvě vlastnosti:

  • CounterSamples: Gets a nastaví data pro čítače.
  • časové razítko: získá a nastaví datum a čas, kdy byly shromážděny údaje o vzorku.,

A několik metod, které jsou zděděné od Objektu:

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

například, následující příkaz používá Get-Counter sbírat Procesor Time data a exportuje ji do .soubor blg pomocí Export-Counter (@TechGenix):

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

33. Test-Path

test-Path umožňuje ověřit, zda položky existují v zadané cestě., Pokud například plánujete použít jiný příkaz v zadaném souboru, možná budete muset ověřit, zda soubor existuje,abyste se vyhnuli chybě.

Test-Path C:\Scripts\Archive

Pokud složka existuje, vrátí True; pokud tomu tak není, vrátí False.

může také pracovat s cestami používanými jinými poskytovateli PowerShell. Například, pokud potřebujete vědět, pokud váš počítač má proměnnou prostředí s názvem uživatelské jméno, můžete použít následující:

Test-Path Env:\username

Test-Path pracuje s proměnnými, certifikáty, aliasy a funkce., Podívejte se na tento příspěvek od TechNet pro více informací (@MS_ITPro).

34. Get-WinEvent

podívejte se na protokoly událostí systému Windows pomocí Get-WinEvent. Seznam dostupných protokolů, použijte:

Get-WinEvent -ListLog *

Pak, podrobné informace o konkrétní protokol, vyměňte * se jménem (potrubí výstup do formátu-seznam chcete-li zobrazit všechny podrobnosti):

Get-WinEvent -ListLog $logname | fl *

můžete Si také zobrazit všechny události v protokolu pomocí:

Get-WinEvent -LogName System

Podívejte se na tento návod pro další podrobnosti (@rakheshster).,

Invoke-TroubleshootingPack

řešení Problémů balíčky jsou kolekce PowerShell skriptů a sestav, které vám pomohou řešit, diagnostikovat a opravit běžné problémy systému (@ITNinjaSite). Najít řešení problémů balení:

C:\Windows\Diagnostics\System

můžete spustit tento skript, aby se seznam všech problémů balíčky jsou k dispozici na současný systém (@TechGenix):

Get-ChildItem C:\Windows\Diagnostic\System

Pak, ze se zvýšenými okno prostředí PowerShell, spusťte poradce při potížích pack pomocí tohoto příkazu:

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

36., Measure-Command

Pokud chcete časovat operace v PowerShell, Measure-Command je must-know cmdlet. Měří, jak dlouho skript nebo scriptblock spustit. Zde je příklad (@ToddKlindt):

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

výstup je TimeSpan objekt, tak, že obsahuje vlastnosti, jako jsou Hodina, Minuta, Druhý, atd. a je snadné přizpůsobit výstup vašim preferencím.

Measure-Object

možná budete také chtít vědět, jak velký je daný objekt., Použijte Measure-Object pro výpočet číselných vlastností libovolného objektu, včetně znaků, slov a řádků v objektu řetězce, jako jsou soubory textu.,

Stačí zadat jméno a typ měření provádět, spolu s parametry jako (@WindowsITPro):

  • -Sum: přidá hodnoty
  • -Průměr: vypočítá průměrné hodnoty
  • -Minimální: najde minimální hodnota
  • -Maximální: najde maximální hodnotu

následující příkaz sečte VirtualMemorySize majetkové hodnoty pro všechny objekty:

Get-Process | measure VirtualMemorySize -Sum

Nový-Akce

Nový-Akce se používá k vytvoření nové události., Související cmdlet je New-EventLog, který vytváří nový protokol událostí, stejně jako nový zdroj událostí na místním nebo vzdáleném počítači. Pokud máte automatizační motor podporovaný společností PowerShell, Je vhodné nastavit protokol událostí (vytvořením vlastního typu protokolu událostí), který zaznamenává všechny zprávy odeslané společností PowerShell. Toto je jeden příklad, kde můžete implementovat vlastní protokolování v Prohlížeči událostí.,

Začněte tím, že vytvoření nového Protokolu Událostí LogName (@BundaloVladimir):

New-EventLog -LogName Troubleshooting_Log -Source FalloutApp

Pak, posílat zprávy na váš nový protokol událostí, spusťte následující pomocí Write-Log rutiny:

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

Příjem-Práce

Pokud potřebujete, aby si výsledky, prostředí Windows PowerShell úlohy na pozadí v aktuální relaci, použijte Příjem-Práce, zaměstnání. To se obvykle používá po použití Start-Job začít práci, když potřebujete zobrazit konkrétní výsledky.,

Receive-Job -Name HighMemProcess

Podívejte se na tento užitečný návod na použití Obdržíte-Práci a co dělat, když tam jsou zdánlivě žádné výsledky (@proxb).

40. Register-EngineEvent

Tento cmdlet se používá k odběru událostí generovaných motorem Windows PowerShell a cmdlet new-Event. Například, následující příkaz odebírá událost, kdy se aktuální PowerShell zasedání ukončí a uloží informace (např. datum a čas) do souboru protokolu (@jonathanmedd):

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

41., Registr-ObjectEvent

Zaregistrovat-ObjectEvent je podobné Rejstříku-EngineEvent, ale spíše než se přihlásit k odběru události, generované PowerShell motor a Nová-v Případě, že se hlásí k události generované Microsoft .NET Framework Objekt.

Tady je příklad (@NetworkWorld):

Existují další Rejstříku – rutin, které se vám mohou hodit, včetně:

  • Registrace-PSSessionConfiguration: Vytváří a registruje nové relace konfigurace.
  • registrace-WmiEvent: tento cmdlet se přihlásí k události WMI.

42., Remove-Event

Pokud chcete událost odstranit, použijte cmdlet Remove-Event. Pokud potřebujete odstranit celý protokol událostí, použijte Remove-EventLog, který odstraní protokol událostí nebo zrušuje zdroj události.

alternativně Unregister-Event zruší předplatné události, ale neodstraní událost z fronty událostí (@SS64).

43. Set-PSDebug

Tento cmdlet zapíná a vypíná funkce ladění skriptů. To také nastavuje úroveň stopy a přepíná StrictMode.,

pomocí Set-PSDebug v horní části souboru skriptu těsně po param (), prohlášení (pokud existuje), můžete zabránit chyby s PowerShell skripty, které neposkytuje dostatečné informace o tom, pro účely odstraňování potíží. Zde je příklad (@r_keith_hill):

44. Start-Sleep

Pokud potřebujete aktivitu pozastavit ve skriptu nebo relaci, použijte Start-Sleep, který zastaví činnost po určitou dobu.

Start-Sleep -Seconds xxxStart-Sleep -Milliseconds xxx

Pokud potřebujete pozastavit jednu nebo více spuštěných služeb, použijte službu Suspend-Service.

45., Tee-Object

pokud analyzujete výkon nebo kvalitu kódu, je užitečné zobrazit výstup příkazu. Tee-Object ukládá příkazový výstup do souboru nebo proměnné a také jej zobrazuje v konzole, pokud je to poslední proměnná v potrubí. Pokud to není poslední proměnná v potrubí, Tee-Object ji pošle dolů potrubí.

zde je syntaxe:

46. Test-AppLockerPolicy

Test-AppLockerPolicy vyhodnocuje, zda jsou vstupní soubory povoleny pro konkrétní uživatele na základě zadaných zásad AppLocker.,

Test-AppLockerPolicy -Path Test-AppLockerPolicy -Path 

Tento kurz nabízí další podrobnosti o dostupných parametrů a příklady z Testu-AppLockerPolicy v akci (@powershellhelp).

Test-ComputerSecureChannel

Tento cmdlet testuje a opravuje spojení mezi lokálním počítačem a jeho doménou. Bez tohoto příkazu bylo obvyklým řešením dříve odebrat počítač ze své domény a poté jej znovu připojit, aby se vztah obnovil. Test-ComputerSecureChannel umožňuje obnovit připojení v kratším čase (@WindowsITPro).,

Když jste přihlášeni jako místní správce, jednoduše spusťte následující:

Test-ComputerSecureChannel –credential WINDOWSITPRO\Administrator –Repair

můžete použít Test-Připojení pro odesílání Internet Control Message Protocol (ICMP) echo request pakety (ping) na jeden nebo více počítačů.

Test-Path

použijte Test-Path k určení, zda existují všechny prvky cesty. V podstatě vám pomůže zvládnout chyby dříve, než k nim dojde. Ve své nejjednodušší podobě vrací True nebo False (@MCPmag):

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

49. Trace-Command

Trace-Command konfiguruje a spustí stopu zadaného příkazu nebo výrazu., Použít to, budete také muset použít Get-TraceSource s cílem hledat konkrétní jména pomocí zástupných znaků:

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

můžete filtrovat výstup, aby odpovídal popis vzoru máš po. Jakmile identifikujete možné jméno stopy, použijete příkaz Trace-Command k získání odpovědí, které potřebujete. Zde je příklad:

podívejte se na tento příspěvek pro více informací o hraní detektiva s Trace-Command (@PowerShellMag).

50. Write-Debug

write-Debug zapíše ladicí zprávu do konzoly., Když to napíšete do funkce nebo skriptu, ve výchozím nastavení nic nedělá; zprávy v podstatě čekají, až buď upravíte $DebugPreference, nebo aktivujete přepínač ladění při volání funkce nebo skriptu. Když je $ DebugPreference nastavena na „dotazovat“ nebo je aktivován přepínač ladění, zpráva vytvoří bod zlomu, což vám umožní snadný způsob, jak se dostat do režimu ladění.

vezměte tento příklad (@rjasonmorgan):

výše uvedený příklad vytváří následující při spuštění s-debug:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *