Správce Exchange Online bude muset dříve nebo později po powershellu sáhnout. Microsoft to tak chce, protože ne všechny informace se dají vyčíst z webového centra pro správu služeb Office 365 – Jako jsou třeba neaktivní uživatelé licencovaných mailboxů. A proč takové licence zbytečně platit?

Takže ve webové administraci Office 365 pod záložkou reporty lze najít takový pěkný graf, který prozradí počty aktivních / neaktivních mailboxů. Jestli se ukáže, že jsou některé mailboxy neaktivní více jak 90 dní. Tedy nikdo se do nich nepřihlásil během posledních tří měsíců, je evidentní, že je nikdo nevyužívá a licence se platí naprosto zbytečně. Jenže když se správce tohoto faktu dopídí, tak ve webové administraci skončil, protože ta neprozradí, které mailboxy to jsou. Při malém počtu uživatelů bude asi snadno zjistitelné, který mailbox není využíván, ale při větším poštu mailboxů už v tom může být trošku „nepořádek“.

Teď přichází na řadu všemocný PowerShell. Je potřeba se přihlásit k Office 365 přes PowerShell a to tímto způsobem.

Následně je potřeba formulovat dotaz. Stačí jednoduše Get-Mailbox | Get-MailboxStatistics pro výpis statistik mailboxů (počet položek a poslední čas přihlášení). Ale je hezčí, když se to trochu vylepší:

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object LastLogonTime | select displayname, lastlogontime

Výpis se nechá srovnat dle času posledního přohlášení a budou zobrazeny jména mailboxů a čas posledního přihlášení od nejstaršího. Tam kde žádné datum není, tak do mailboxu nebyl nikdo ještě přihlášen.

Můžu přidat ještě jedno vylepšení, tentokrát s exportem do textového dokumentu a srovnání od nejnovějšího času přihlášení:

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object LastLogonTime -Descending | select displayname, lastlogontime >C:\LogonTime.txt

A s tím už se dá nějak pracovat.

Přidávám skript ke stažení s automatickým přihlášením a výpisem mailboxů s časem posledního přihlášení: LastLogonTimeEO.7z