NetAcademia

A legjobbakat tanítjuk!

PowerShell logging aka PowerShell Transcript Windows Server 2016-ban

2016. július 07. 08:26 - Barcsi Tamás (NetAcademia)

Bizonyára sokan elgondolkodtunk már azon, hogy egy Windows szerveres környezetben milyen jó is lenne, ha a korábban kiadott PowerShell utasításokat valamilyen módon vissza lehetne nézni, a hab a tortán már csak az lenne, ha az eredményt, kimenetet, hibákat is lehetne látni később bármikor. A habot pedig tovább is lehetne ízesíteni azzal, ha ezt mondjuk az összes gépen meg lehetne valósítani, az élményt esetleg lehetne fokozni azzal, ha mindezt néhány kattintással meg lehetne oldani, az pedig már a kulináris élvezet mesterfokát is túlhaladná, ha ezt az infót egy központi helyen is lehetne tárolni.

Na, lássuk a hozzávalókat:

1. PWS "log" készítése --> PowerShell Transcipt
2. Megvalósítás az összes gépen, néhány kattintással --> GPO

Mint minden jó szakácskönyv elején a "végy egy tejszínhabot" kijelentést itt a "végy egy Windows Server 2016-ot, vagy tölts le egy TP5-öt"-re lehetne fordítani. 

És akkor a recept:

1. Készítsünk egy megosztott könyvtárat valamelyik szerverünkön. A megosztási engedélyekhez "elég" az Everyone --> Change. A Security fül pedig mindenkinek a saját ízlése szerint állítandó (ahogy ugyebár a csipet só is kérdéses sokszor, hogy vajon mennyi is pontosan). Azt javaslom, hogy azért nem árt, ha a System és mondjuk az adminok (bármilyen szintű adminra lehet gondolni) hozzáférnek legalább módosítással, az OSI modell 8. rétege (= normál userek) pedig nem kap engedélyt, hiszen nem is kell neki onnan semmi.

2. Csoportházirend készítése. Csináljunk egy "PowerShell Settings" nevű GPO-t és linkeljük a domainhez. Ezzel meg is oldottuk azt, hogy az összes gépről működjön a logging, már csak a beállítások megadása van hátra.
A létrehozott GPO-ban a Computer Configuration\Policies\Administrative Templates\Windows Components\Windows PowerShell konténerben találunk egy Turn on PowerShell Transcription részt, amit állítsunk Enabled-re, majd az output directorynál adjuk meg az első lépésben megosztott könyvtárunk UNC útvonalát. 

gpo.jpg

 

gpo_1.jpg

3. Innentől már csak a csoportházirend érvényesülését kell megvárni (ha órabérbe dolgozunk), vagy a jól ismert gpupdate /force parancsot kiadni (ha viszont teljesítménybérezés van). Nekem egy újraindítás kellett azért, de vélhetően csak türelmetlen voltam, az igazán türelmesek (akik addig simogatják a vasmacskát is, amíg dorombolni nem kezd) kipróbálhatják újraindítás nélkül is.

4. Próbálkozzunk valamilyen PowerShell utasítással. Lehet először azon a szerveren, ahol a megosztást csináltuk, hogy kiderüljön, egyáltalán működik-e a beállításunk, aztán lehet nézelődni a többi szerveren (vagy akár kliensen) is.

Aztán már csak a puding próbája maradt, jelen esetben a logfájlok vizsgálata. Ha elnavigálunk a megosztott könyvtárba, akkor máris láthatóak lesznek a rendszer által létrehozott text fájlok

gpo_2.jpg

Ezekben, ha szerencsénk van, akkor a PowerShell ablakból kiadott parancsokat találjuk, kimenettel, hibákkal, mindennel együtt. Ja, lesz egy fejléc is hozzá. Ja, és elég részletes infót is ad. Ja, és tényleg látszódik minden. Ja, és mi van, ha mondjuk nem a Get-Service parancsot írom, hanem mondjuk egy egyszerű dir-t. Az ment volna vajon? Ki kell próbálni, a lényeg, hogy PowerShellből futtassuk a dir-t is.

gpo_3.jpg

2 komment

A bejegyzés trackback címe:

https://netacademia.blog.hu/api/trackback/id/tr368871712

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Hóhér az utolsó barátod · http://internetszemete.blog.hu 2016.07.07. 09:05:57

Troll on: és mit csináljon akinél home verzió van -> nincs GPO? ;)

Barcsi Tamás (NetAcademia) 2016.07.07. 09:54:50

@Hóhér az utolsó barátod: Hát, szerverből nem nagyon van home verzió, hacsak nem standalone-ra gondoltál. :) Akkor viszont marad a gpedit.msc. De ez mondjuk a Win10-re is igaz. No persze annak is legalább egy Pro-nak kéne lennie. Home verzióban meg maradt a printszkrín. :D