Exchange Server–neaktivní mailboxy
Našel jsem zajímavý skript na detekci neaktivních mailboxů. Často se totiž potkávám s tím, že datum posledního přístupu ke schránce nejde použít, buď kvůli antivirovému nebo zálohovacímu systému, které toto datum změní. Výše uvedený skript však na to jde jinak – kontroluje nejnovější položku v Odeslané poště.
Zprovoznění skriptu ale není úplně triviální. Pokud skript umístím např. do C:\bat\, tak je pak nutné v PowerShellu spustit toto:
. c:\bat\InActiveMBX.ps1 (opravdu je před cestou tečka následovaná mezerou)
Get-InActiveMailbox
Z dostupných přepínačů používám –Server nebo –Database a poté –Idledays. Z prvních dvou uvedených se smí použít vždy jen jeden.
Testovací spouštění mi pořád dávalo naprosto nesmyslná čísla v počtu neaktivních uživatelů ve třech mailbox databázích a vůbec to nebralo v potaz další tři mailbox databáze. No strávil jsem nad tím dlouhou dobu, abych nakonec zjistil, že jsem zase narazil na default nastavení PowerShellu, na kterých jsem si vylámal zuby už asi před půl rokem, akorát jsem si to tenkrát nenapsal.
Pokud mám forest s hromadou domén a chci, aby se Exchange příkazy týkaly i jiných objektů z ostatních domén (tj. nejen z té domény, kde je umístěn Exchange server), tak je třeba na začátku PowerShell skriptu spustit toto:
Set-AdServerSettings -ViewEntireForest $true –PreferredGlobalCatalog dc.domain.tld
Teprve poté mi skript začal dávat správné výsledky, protože uživatelé Exchange serveru ve forest root doméně jsou i v jiných doménách.