Utilita Get-SPLogEvent je užitočná pre SharePoint Administrátorov, ale aj programátorov. Štandardne je zabudovaná v SharePoint-e ako súčasť SharePoint snappin. Slúži na zobrazovanie a vyhľadávanie v diagnostických logoch, čo vytvorí SharePoint. Na jej použitie ju treba zaviesť do PowerShell sessiony ako snappin. Dá sa to dvoma spôsobmi, a to automaticky, keď spustíme z Ponuky Štart>All Programs>Microsoft SharePoint 2013 Products>SharePoint 2013 Management Shell, čo je najjednoduchšia varianta viď. obr.1.
Obr.1 Ponuka Štart pre výber SharePoint 2013 Management Shell |
Alebo snappin zavedieme manuálne, ale najprv musíme vedieť, ako máme zaregistrovaný snappin v systéme, na to pomôže riadok v PoweSshell-y, jeho výpis vidieť na obr.2:
get-pssnapping -registered
Obr. 2 get-pssnappin |
add-spsnappin -name Microsoft.SharePoint.PowerShell
Keďže používam na serveri PowerShell v spojení so SharePoint-om, tak som si pridal do profilu PowerShell-u predchádzajúci cmdlet, aby sa mi zaviedol SharePoint snappin vždy po otvorení PowerShell-u. Po zavedení snappinu môžme používať všetky cmdlety určené pre SharePoint. Nás ale zaujíma Get-SPLogEvent. Samotný cmdlet bez parametrov zobrazí všetky logy. Ok, ale výhoda utility nespočíva v tom, že môžme si zobraziť všetky logy, ale v tom, že môžme filtrovať na základe určitých parametrov v logoch. Pozrime sa na nápovedu od cmdletu, obr.3.
Vidieť je niekoľko užitočných parametrov ako Directory, EndTime, StartTime, MinimumLevel. Príklady použitia si môžme pozrieť aj v nápovede, aby sme videli len priklady stačí uviesť cmdlet:
get-help get-splogevent
alebo skrátená verzia
help get-splogevent
Obr.3 Nápoveda alebo manuálová stránka pre get-splogevent |
help get-splogevent -examples
Výstup príkazu je vidieť na obr.4.
Obr.4 Príklady použitia get-splogevent |
Ok, to sú už menšie možnosti filtrovania, ale stále to nie je všetko a ani postačujúce. Čo tak filtrácia na základe Correlation, Category alebo Area, resp. iných v logu obsiahnutých informácií. Tým, že je PowerShell objektovo orientované skriptovacie prostredie, tak máme širšie možnosti práce s údajmi z príslušných cmdlet-ov. Pozrime na členov get-splogevent cez príkaz, viď. obr.5:
get-splogevent | get-members
Obr.5 Členovia cmdlet-u Get-SPLogEvent |
Na základe určitého Correlation vieme získať potrebný výstup:
get-splogevent | where-object {$_.Correlation -eq '79012b9d-692f-f014-a228-52715da5e838'}
alebo získať všetky chyby úrovne Critical:
get-splogevent | where {$_.Level -eq 'Critical'}
Čo tak zobraziť ako výstup iba potrebné informácie ako message, category všetkých chýb úrovne critical:
get-splogevent | where {$_.Level -eq 'Critical'} | select-object Message,Category
Môžme kombinovať vlastnosti a vytvárať tak zložitejšie filtre. Za pomoci ďalších cmdlet-ov ako Where-Object, Select-Object, Format-List, Format-Table a ďalších vieme pekne dolovať informácie z logov a následne si ich zobraziť v PowerShell-y.
SharePoint obsahuje veľké množstvo cmdlet-ov a v priebehu následujúcich článkov ich bližšie predstavím. Koľko ich je a ktoré to sú, si môžme pozrieť pomocou:
get-command -module Microsoft.SharePoint.PowerShell