about_Logging
Krátký popis
PowerShell protokoluje interní operace z modulu, poskytovatelů a rutin do protokolu událostí Windows.
Dlouhý popis
PowerShell protokoluje podrobnosti o operacích PowerShellu, jako je spuštění a zastavení modulu a poskytovatelů a spouštění příkazů PowerShellu.
Poznámka:
Windows PowerShell 5.1 (a starší) obsahuje rutiny EventLog pro protokoly událostí Windows. V těchto verzích zobrazíte seznam rutin EventLog typu:
Get-Command -Noun EventLog
. Další informace najdete v dokumentaci k rutinám a about_EventLogs pro vaši verzi Windows PowerShellu.
Informace o protokolování v PowerShellu 7 najdete v následujících článcích:
Zobrazení položek protokolu událostí PowerShellu ve Windows
Protokoly PowerShellu je možné zobrazit pomocí windows Prohlížeč událostí. Protokol událostí se nachází ve skupině Protokoly aplikací a služeb a má název Microsoft-Windows-PowerShell. Přidružený zprostředkovatel GUID
Trasování událostí pro Windows je {A0C1853B-5C40-4B15-8766-3CF1C58F985A}
.
Pokud je protokolování bloku skriptu povolené, PowerShell protokoluje následující události do protokolu Microsoft-Windows-PowerShell/Operational :
Pole | Hodnota |
---|---|
EventId | 4104 / 0x1008 |
Kanál | Operational |
Level | Verbose |
Opcode | Create |
Úloha | CommandStart |
Klíčové slovo | Runspace |
Povolení protokolování bloku skriptu
Když povolíte protokolování bloku skriptu, PowerShell zaznamená obsah všech skriptů, které zpracovává. Po povolení protokoluje všechny nové relace PowerShellu tyto informace.
Poznámka:
Pokud chcete zajistit, aby byla citlivá data chráněná, povolte protokolování chráněných událostí při použití protokolování blokování skriptu pro jakékoli jiné účely než pro účely diagnostiky.
Protokolování bloku skriptu je možné povolit prostřednictvím zásad skupiny nebo nastavení registru.
Používání zásad skupiny
Pokud chcete povolit automatický přepis, povolte funkci Zapnout protokolování bloků skriptů PowerShellu v zásadách skupiny prostřednictvím Správa istrativních šablon ->Součásti systému Windows ->Windows PowerShell.
Použití registru
Spusťte následující funkci:
function Enable-PSScriptBlockLogging {
$basePath = @(
'HKLM:\Software\Policies\Microsoft\Windows'
'PowerShell\ScriptBlockLogging'
) -join '\'
if (-not (Test-Path $basePath)) {
$null = New-Item $basePath -Force
}
Set-ItemProperty $basePath -Name EnableScriptBlockLogging -Value "1"
}
Protokolování chráněných událostí
Zvýšení úrovně protokolování v systému zvyšuje možnost, že protokolovaný obsah může obsahovat citlivá data. Například s povoleným protokolováním skriptu, přihlašovacími údaji nebo jinými citlivými daty používanými skriptem lze zapisovat do protokolu událostí. Když dojde k ohrožení zabezpečení počítače s protokolovanými citlivými daty, můžou protokoly útočníkovi poskytnout informace potřebné k rozšíření dosahu.
Pro ochranu těchto informací systém Windows 10 zavádí protokolování chráněných událostí. Protokolování chráněných událostí umožňuje zúčastněným aplikacím šifrovat citlivá data zapsaná do protokolu událostí. Později můžete tyto protokoly dešifrovat a zpracovat v bezpečnějším a centralizovanějším kolektoru protokolů.
Obsah protokolu událostí je chráněn pomocí standardu IETF Cryptographic Message Syntax (CMS). CMS používá kryptografii veřejného klíče. Klíče používané k šifrování obsahu a dešifrování obsahu se uchovávají odděleně.
Veřejný klíč je možné sdílet široce a nejedná se o citlivá data. Veškerý obsah zašifrovaný tímto veřejným klíčem je možné dešifrovat pouze privátním klíčem. Další informace o kryptografii veřejného klíče naleznete na Wikipedii - Kryptografie veřejného klíče.
Pokud chcete povolit zásadu protokolování chráněných událostí, nasaďte veřejný klíč do všech počítačů, které mají data protokolu událostí k ochraně. Odpovídající privátní klíč se používá k následnému zpracování protokolů událostí v bezpečnějším umístění, jako je centrální kolektor protokolu událostí nebo agregátor SIEM . SiEM můžete nastavit v Azure. Další informace najdete v tématu Obecná integrace SIEM.
Povolení protokolování chráněných událostí prostřednictvím zásad skupiny
Chcete-li povolit protokolování chráněných událostí, povolte Enable Protected Event Logging
funkci v zásadách skupiny prostřednictvím Administrative Templates -> Windows Components -> Event Logging
. Toto nastavení vyžaduje šifrovací certifikát, který můžete zadat v jednom z několika formulářů:
- Obsah certifikátu X.509 s kódováním base-64 (například nabízený možností
Export
ve Správci certifikátů). - Kryptografický otisk certifikátu, který najdete v úložišti certifikátů místního počítače (je možné ho nasadit infrastrukturou PKI).
- Úplná cesta k certifikátu (může být místní nebo vzdálená sdílená složka).
- Cesta k adresáři obsahujícímu certifikát nebo certifikáty (může být místní nebo vzdálená sdílená složka).
- Název subjektu certifikátu, který najdete v úložišti certifikátů místního počítače (je možné ho nasadit infrastrukturou PKI).
Výsledný certifikát musí být povolený Document Encryption
jako použití rozšířeného klíče (1.3.6.1.4.1.311.80.1
) nebo Data Encipherment
Key Encipherment
použití klíčů.
Upozorňující
Privátní klíč by se neměl nasazovat do událostí protokolování počítačů. Měla by být uložena v zabezpečeném umístění, kde dešifrujete zprávy.
Dešifrování zpráv protokolování chráněných událostí
Následující skript načte a dešifruje události za předpokladu, že máte privátní klíč:
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro