Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Krótki opis
Program Windows PowerShell tworzy dziennik zdarzeń systemu Windows o nazwie "Windows PowerShell" w celu rejestrowania zdarzeń programu Windows PowerShell. Możesz wyświetlić ten dziennik w Podgląd zdarzeń lub za pomocą poleceń cmdlet, które pobierają zdarzenia, takie jak Get-EventLog polecenie cmdlet. Domyślnie aparat programu Windows PowerShell i zdarzenia dostawcy są rejestrowane w dzienniku zdarzeń, ale można użyć zmiennych preferencji dziennika zdarzeń, aby dostosować dziennik zdarzeń. Można na przykład dodawać zdarzenia dotyczące poleceń programu Windows PowerShell.
Długi opis
Dziennik zdarzeń programu Windows PowerShell rejestruje szczegółowe informacje o operacjach programu Windows PowerShell, takich jak uruchamianie i zatrzymywanie aparatu programu oraz uruchamianie i zatrzymywanie dostawców programu Windows PowerShell. Możesz również rejestrować szczegółowe informacje o poleceniach programu Windows PowerShell.
Dziennik zdarzeń programu Windows PowerShell znajduje się w grupie Dzienniki aplikacji i usług. Dziennik programu Windows PowerShell to klasyczny dziennik zdarzeń, który nie korzysta z technologii zdarzeń systemu Windows. Aby wyświetlić dziennik, użyj poleceń cmdlet przeznaczonych dla klasycznych dzienników zdarzeń, takich jak Get-EventLog.
Wyświetlanie dziennika zdarzeń programu Windows PowerShell
Dziennik zdarzeń programu Windows PowerShell można wyświetlić w Podgląd zdarzeń lub za pomocą Get-EventLog poleceń cmdlet i Get-WmiObject . Aby wyświetlić zawartość dziennika programu Windows PowerShell, wpisz:
Get-EventLog -LogName "Windows PowerShell"
Aby zbadać zdarzenia i ich właściwości, użyj Sort-Object polecenia cmdlet, Group-Object polecenia cmdlet i poleceń cmdlet zawierających Format czasownik ( Format polecenia cmdlet).
Aby na przykład wyświetlić zdarzenia w dzienniku pogrupowane według identyfikatora zdarzenia, wpisz:
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
Lub, wpisz:
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
Aby wyświetlić wszystkie klasyczne dzienniki zdarzeń, wpisz:
Get-EventLog -List
Możesz również użyć Get-WmiObject polecenia cmdlet , aby użyć klas Instrumentacji zarządzania Windows (WMI) związanych z zdarzeniami w celu zbadania dziennika zdarzeń. Aby na przykład wyświetlić wszystkie właściwości pliku dziennika zdarzeń, wpisz:
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Aby znaleźć klasy WMI związane z zdarzeniami Win32, wpisz:
Get-WmiObject -List | where Name -Like "win32*event*"
Aby uzyskać więcej informacji, wpisz "Get-Help Get-EventLog" i "Get-Help Get-WmiObject".
Wybieranie zdarzeń dla dziennika zdarzeń programu Windows PowerShell
Zmienne preferencji dziennika zdarzeń umożliwiają określenie, które zdarzenia są rejestrowane w dzienniku zdarzeń programu Windows PowerShell.
Istnieją sześć zmiennych preferencji dziennika zdarzeń; dwie zmienne dla każdego z trzech składników rejestrowania: aparat (program programu Windows PowerShell), dostawcy i polecenia. Zmienne LifeCycleEvent rejestrują normalne zdarzenia uruchamiania i zatrzymywania. Zmienne kondycji rejestrują zdarzenia błędów.
W poniższej tabeli wymieniono zmienne preferencji dziennika zdarzeń.
| Zmienna | Opis |
|---|---|
| $LogEngineLifeCycleEvent | Rejestruje uruchamianie i zatrzymywanie programu PowerShell |
| $LogEngineHealthEvent | Rejestruje błędy programu PowerShell |
| $LogProviderLifeCycleEvent | Rejestruje uruchamianie i zatrzymywanie dostawców programu PowerShell |
| $LogProviderHealthEvent | Rejestruje błędy dostawcy programu PowerShell |
| $LogCommandLifeCycleEvent | Rejestruje uruchamianie i uzupełnianie poleceń |
| $LogCommandHealthEvent | Błędy poleceń dzienników |
(Aby uzyskać informacje o dostawcach programu Windows PowerShell, zobacz about_Providers).
Domyślnie są włączone tylko następujące typy zdarzeń:
- $LogEngineLifeCycleEvent
- $LogEngineHealthEvent
- $LogProviderLifeCycleEvent
- $LogProviderHealthEvent
Aby włączyć typ zdarzenia, ustaw zmienną preferencji dla tego typu zdarzenia na $true. Aby na przykład włączyć zdarzenia cyklu życia poleceń, wpisz:
$LogCommandLifeCycleEvent
Lub, wpisz:
$LogCommandLifeCycleEvent = $true
Aby wyłączyć typ zdarzenia, ustaw zmienną preferencji dla tego typu zdarzenia na $false. Aby na przykład wyłączyć zdarzenia cyklu życia polecenia, wpisz:
$LogProviderLifeCycleEvent = $false
Można wyłączyć dowolne zdarzenie, z wyjątkiem zdarzeń wskazujących, że aparat programu Windows PowerShell i główni dostawcy są uruchomieni. Te zdarzenia są generowane przed uruchomieniem profilów środowiska Windows PowerShell i przed przygotowaniem programu hosta do akceptowania poleceń.
Ustawienia zmiennych dotyczą tylko bieżącej sesji programu Windows PowerShell. Aby zastosować je do wszystkich sesji programu Windows PowerShell, dodaj je do profilu programu Windows PowerShell.
Rejestrowanie zdarzeń modułu
Począwszy od Windows PowerShell 3.0, można rejestrować zdarzenia wykonywania poleceń cmdlet i funkcji w modułach i przystawkach programu Windows PowerShell, ustawiając właściwość LogPipelineExecutionDetails modułów i przystawek na wartość TRUE. W programie Windows PowerShell 2.0 ta funkcja jest dostępna tylko dla przystawek.
Gdy wartość właściwości LogPipelineExecutionDetails ma wartość TRUE ($true), program Windows PowerShell zapisuje zdarzenia wykonywania poleceń cmdlet i funkcji w sesji w dzienniku programu Windows PowerShell w Podglądzie zdarzeń. Ustawienie jest skuteczne tylko w bieżącej sesji.
Aby włączyć rejestrowanie zdarzeń wykonywania poleceń cmdlet i funkcji w module, użyj następującej sekwencji poleceń.
Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true
Aby włączyć rejestrowanie zdarzeń wykonywania poleceń cmdlet w przystawce, użyj następującej sekwencji poleceń.
$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True
Aby wyłączyć rejestrowanie, użyj tej samej sekwencji poleceń, aby ustawić wartość właściwości na FALSE ($false).
Możesz również użyć ustawienia zasad grupy "Włącz rejestrowanie modułów", aby włączyć lub wyłączyć rejestrowanie modułów i przystawek. Wartość zasad zawiera listę nazw modułów i przystawek. Symbole wieloznaczne są obsługiwane.
Gdy dla modułu jest ustawiona opcja "Włącz rejestrowanie modułów", wartość właściwości LogPipelineExecutionDetails modułu ma wartość TRUE we wszystkich sesjach i nie można jej zmienić.
Ustawienie zasad grupy Włącz rejestrowanie modułu znajduje się w następujących ścieżkach zasad grupy:
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
Zasady konfiguracji użytkownika mają pierwszeństwo przed zasadami konfiguracji komputera, a obie zasady przejmują preferencję nad wartością właściwości LogPipelineExecutionDetails modułów i przystawek.
Aby uzyskać więcej informacji na temat tego ustawienia zasad grupy, zobacz about_Group_Policy_Settings.
Zabezpieczenia i inspekcja
Dziennik zdarzeń programu Windows PowerShell został zaprojektowany tak, aby wskazywał działanie i dostarczał szczegółowe informacje operacyjne dotyczące rozwiązywania problemów.
Jednak podobnie jak większość dzienników zdarzeń aplikacji opartych na systemie Windows, dziennik zdarzeń programu Windows PowerShell nie jest zaprojektowany tak, aby był bezpieczny. Nie należy ich używać do przeprowadzania audytów bezpieczeństwa ani do rejestrowania informacji poufnych lub zastrzeżonych.
Dzienniki zdarzeń są przeznaczone do odczytywania i interpretowania przez użytkowników. Użytkownicy mogą odczytywać dane z dziennika i zapisywać je w dzienniku. Złośliwy użytkownik może odczytać dziennik zdarzeń na komputerze lokalnym lub zdalnym, zarejestrować fałszywe dane, a następnie uniemożliwić rejestrowanie ich działań.
Notatki
Autorzy modułów mogą dodawać funkcje rejestrowania do swoich modułów. Aby uzyskać więcej informacji, zobacz Pisanie modułu programu Windows PowerShell w bibliotece MSDN.