Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Skutečná ověřovací aktivita jednotlivých DC
říjen 10
Skutečná ověřovací aktivita jednotlivých DC

Včera jsem tu psal o parametru /logon_query programu netlogon. Říkal jsem, že je to v podstatě nesmyslný parametr, protože to měří jen NTLM ověřování. Navíc ve Windows 2012 je buď chyba, nebo to záměrně úplně zrušili.

Abych jenom nereptal, mám tu lepší řešení. Zjistit sumu hodnot atributů logonCount pro každé DC. To je nereplikovaný atribut (podobně jako je lastLogon, o kterém jsem se zmiňoval tady), který u každého účtu zachycuje historicky počet ověření jeho přihlašovacích údajů - tedy hesla, nebo certifikátu v případě Schannel, nebo PKINIT (smart card logon). Tohle samozřejmě bere i Kerberos.

Na každém DC bude mít u každého účtu tento atribut hodnotu takovou, kolikrát ho to dané DC za svůj život ověřilo. Hodnota se nenuluje ani při restartu. Takže je to historicky od instalace daného DC. A pokud jste instalovali to DC z IFM (install from media), tak tam bude hodnota plus to z té zálohy.

Takže hodnota je přesnější, ale má to špatnou vlastnost v tom, že to je od instalace toho DC. Ale pokud to budete měřit rozdílově, tedy změna hodnoty od včerejška, nebo za poslední týden, uvidíte v tom mnohem přesnější informace o tom, jak je ověřování rozloženo mezi jednotlivé řadiče domény (domain controller).

Tento skript na ukázku vypíše sumu hodnot logonCount pro každé DC ve forestu.

dsquery server | % { $_.Trim('"') } | % { ([ADSI] "LDAP://$_").serverReference } | % { ([ADSI] "LDAP://$_").dNSHostName } | select @{ n = 'dc' ; e = { $_ } }, @{ n = 'logonCountSum' ; e = { dsquery * domainRoot -filter '(logonCount>=1)' -attr logonCount -server $_ -limit 0 | ? { $_ -match '\s+\d+\s+' } | Measure-Object -Sum | Select-Object -Expand Sum } }

Pokud bych měl jen zmínit nějaké zajímavosti k jeho PowerShell implementaci, tak si všimněte, že to používá ADSI a ne ten podivný AD module for PowerShell, takže to poběží úplně kdekoliv. Je to taky napsáno na jeden řádek, což by mohlo ukazovat krásu (nebo prasárnu) PowerShellu. A nakonec si všimněte operátoru -match, který krásně vybírá čísla pomocí regulárního výrazu (regex).

Comments

Great

Phoodle is a guessing game for people who like to eat. The goal of the game is to find a five-letter word about food in no more than six tries. The game is like Wordle, a popular online puzzle game, but with food instead of words. https://phoodle-wordle.com/

kaity on 25.5.2023 5:17

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments