Výmaz obsahu mailboxu na Exchange

Posted by Petr Santrucek on August 21st, 2017 | Category:  Technologie 

Občas vyvstane potřeba smazat kompletní obsah uživatelsého mailboxu. Postup je jednoduchý a (jak jinak) jen přes PowerShell.

Nejprve je užitečné vylistovat obsah (co do počtu mailů) dotčené schránky:

[PS] C:\Windows\system32>Get-MailboxStatistics tlogistika
Creating a new session for implicit remoting of "Get-MailboxStatistics" command...

DisplayName               ItemCount    StorageLimitStatus                                                 LastLogonTime
-----------               ---------    ------------------                                                 -------------
Test Logistika            9354                                                                     18. 8. 2017 18:10:43



Trochu oklikou pak k výmazu slouží příkaz Search-Mailbox:
Search-Mailbox -Identity tlogistika -DeleteContent -force

Jak vymazat selektivně frontu Postfixu

Posted by Petr Santrucek on July 2nd, 2017 | Category:

Minulý týden jsem řešil nuceně problém s nutností selektivně pročistit frontu Postfixu od spamů generovaných zneužitým účtem (uživatelka zřejmě použila heslo typu anicka1 nebo tak něco složitého).

Asi každý správce zná příkaz postqueue -p, který vysype seznam mailů držených ve frontě:

[root@zeus ~]# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
E670C3B5463     4235 Wed Jun 28 21:21:03  Petr_Santrucek/exTerra%EXTERRA@exterra-services.cz
     (connect to client.tvujweb.cz[109.123.220.123]:25: Connection timed out)
                                        webmaster@client.tvujweb.cz

C363A3B5469     4322 Thu Jun 29 15:28:37  Petr_Santrucek/exTerra%EXTERRA@exterra-services.cz
   (connect to produkce.tvujweb.cz[109.123.220.123]:25: Connection timed out)
                                        root@produkce.tvujweb.cz

-- 9 Kbytes in 2 Requests.




S tím se dá pracovat, pokud půjde o jednotky mailů, kterých se potřebujete zbavit. Řešením obvykle nebývá smazat celou frontu, protože tam mohou (a obvykle i budou) čekat legitimní maily. A zákon schválnosti pracuje spolehlivě, takže jistě smažete mail pana ředitele jeho manželce, že přijde pozdě na večeři a jako admin máte pak předplacenou jednosměrnou jízdenku na pracák.

Řešení je následující: použijte tento příkaz (zde jde o maily, které mají v hlavičce odesílatele "username@example.com")
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /username@example\.com/ { print $1 }' | tr -d '*!' | postsuper -d -




Co to vlastně dělá? Pokud odmažete konec příkazu " | postsuper -d - ", uvidíte výpis názvů souborů (což je i ID) z fronty. Příkaz postsuper pak zajistí korektní vymazání.
[root@zeus ~]# postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /root@produkce.tvujweb.cz/ { print $1 }' | tr -d '*!'
C363A3B5469

Upgrade vSphere ESXi z příkazové řádky

Posted by Petr Santrucek on June 9th, 2017 | Category:

Možná to zní jako archaismus, ale občas prostě nic jiného, než příkazovou řádu k ovládání vSphere ESXi nemáte. Aktuálně jsem řešil nutnost upgradovat ESXi 5.1 na verzi 5.5 a systém nebyl (a nebude) spravován přes vCenter Server, protože jde o Free hypervizor a fyzicky je umístně v housing centru, takže dojít k němu fyzicky a použít prostě instalační DVD ESXi 5.5 nešlo.

Tak jaké máme možnosti v takovém případě?

1. Stáhněte si tzv. offline bundle požadované verze hypervizoru ESXi - v našem případě ESXi 5.5 Update 3
Image:Upgrade vSphere ESXi z příkazové řádky

3. Pomocí vSphere klienta povolte služby SSH a ESXi shell
Image:Upgrade vSphere ESXi z příkazové řádky
4. Pomocí např. WinSCP nahrajte offline bundle - u nás VMware-ESXi-5.5.0-Update3-3248547-LNV-20160105.zip - na ESXi

5. Přihlašte se na ESXi přes SSH klienta (např. PuTTY)

6. Ukončete běžící VM a přepněte hypervizor do tzv. maintenance mode

esxcli system maintenanceMode set --enable on


7. Spusťte upgrade "na sucho" z příkazové řádky
esxcli software vib update --depot=/vmfs/volumes/datastore1/VMware-ESXi-5.5.0-Update3-3248547-LNV-20160105.zip --dry-run


8. Pokud vše proběhlo bez chyb, pak můžete pokračovat. Pokud se zobrazí chyba např. o chybějícím balíku, můžete upgrade vynutit (na vlastní riziko) přidáním přepínače --force
esxcli software vib update --depot=/vmfs/volumes/datastore1/VMware-ESXi-5.5.0-Update3-3248547-LNV-20160105.zip --force


9. Pokud vše proběhlo restartujte hypervizor
esxcli system shutdown reboot -r "Upgrade na ESXi 5.5 U3"


10. Po nastartování ESXi vypněte maintenance mode a nastartujte VM
esxcli system maintenanceMode set --enable off


POZOR: Znovu upozorňuji, že jde o způsob upgrade, který není 100% bezpečný a zvolte ho, pokud není jiná cesta!

DBMT - švýcarský nůž administrátora Domino serveru

Posted by Petr Santrucek on April 9th, 2017 | Category:

S Dominem verze 9.0 pišla nová utilita nazvaná DBMT -  DataBase Maintenance Tool. O její existenci, jak jsem s překvapením zjistili, neví mnoho i letitých administrátorů Domino serverů. Pojďme se podívat, co je tento nástroj zač a co se s ním dá a nedá provádět.

Co DMBT umí?

  • copy-style compact
  • inkrementální indexování pohledů
  • update a rebuild full-text indexů
  • správu složek
  • vyčištění "deletion stubů"
  • expiraci "soft deleted" položek
  • aktualizaci seznamů "Unread Marks"
  • fixup (opravu) porušených databází

Proč DBMT vlastně použít?
  • nahrazuje Compact na NEsystémových databázích
  • není potom nutno spouštět Updall z NOTES.INI
  • v clusterovaném prostředí pracuje CLDBDIR.NSF a zajišťuje dostupnost alespoň 1 repliky databáze pro uživatele

DBMT neprovádí Compact na systémových databázích, ale provádí -updall a -fti operace!!!

Systémovými databázemi se myslí:
  • admin4.nsf
  • busytime.nsf
  • catalog.nsf
  • cldbdir.nsf
  • clubusy.nsf
  • daoscat.nsf
  • ddm.nsf
  • domlog.nsf
  • events4.nsf
  • log.nsf  
  • lndfr.nsf
  • names.nsf
  • statrep.nsf
  • dbdirman.nsf
  • dircat.nsf
  • mtdata\mtsore.nsf

Naopak, k mailovým databázím vytvořeným ze šablon StdR7Mail,StdR8Mail,StdR85Mail nebo StdR9Mail se chová DBMT specificky a indexuje následující pohledy: ($Inbox), ($Drafts), ($Sent), ($All), ($RepeatLookup), ($ToDo), ($Calendar),
(Haiku_TOC), ($Alarms), (iNotes), ($Users), (iNotes_Contacts), ($ThreadsEmbed).

Pokud používáte upravené šablony (např. z OpenNTF), můžete si přidat pomocí parametru do NOTES.INI Domino serveru další šablony a specifické pohledy. Použijte tyto parametry:
DBMT_MailTemplate=templatename1,templatename2,templatename3
DBMT_TemplateName=ViewNameOrAlias1;ViewNameOrAlias2;...ViewNameOrAliasN

POZOR - parametry v
NOTES.INI mají limit 128 znaků!!!!!

Jak vypadá výstup DBMT?
DBMT.Compact.Began 17.04.2017 11:21:12
DBMT.Compact.Finished 17.04.2017 11:21:34
DBMT.Compact.Successful 6
DBMT.Compact.Unsuccessful 2
DBMT.Compact.Unsuccessful.InUse 2
DBMT.Compact.Unsuccessful.TimeLimit 0
DBMT.Compact.BackLog 2
DBMT.Compact.Fixup 0
DBMT.Updall.Began 17.04.2017 11:21:12
DBMT.Updall.Finished 17.04.2017 11:21:13
DBMT.Updall.Processed 8




Pokud DMBT pouštíte jako naplánovanou úlohu z Program documentu v Domino Directory, můžete si vypsat výsledek posledního běhu příkazem:
show stat dbmt




Nakonec uvedeme syntaxi a přehled možných parametrů DBMT:

load DBMT
Parametr
-compactThreads Počet vláken pro proces compactu , n je mezi 0 a 100 včetně.
-updallThreads Počet vláken pro proces Updall, m je mezi 0 a 100 včetně.
-ftiNdays Rebuild full-text indexů každých f dní od vytvoření.
-ftiThreads Počet vláken pro proces rebuldu ft indexů, g je mezi 0 a 100 včetně.
-force-compactNdays Pro fixup&compact odství databáze offline. n znamená den v týdnu, kdy tak bude provedeno (1 = neděle, 2 = pondělí,...). 0 znamená kterýkoliv den bude BDMT spuštěn.
-compactNdays

Provedfe compact databází, kde nebyl proveden posledních p dní.
-timeLimit Compact bdue ukončen po q minutách, pokud nedoběhl.
-range Spustí se pouze mezi časy a , kdy rozdíl musí být min. 10 minut.
Čas musí být specifikován ve 12-ihodinovém formátu s AM/PM specifikací dopoledne/odpoledne např. 11:50PM).
-stoptime Pouze sběhne JEDNOU odteď do času .
-noCompactLimit Aktuální compact doběhne bez ohledu na časový limit, ale další se nespustí.




POZOR - Při použití DBMT na mailové databáze v případě, že router potřebuje do db doručit mail, proces compactu se přeruší. Příští běh DBMT bude pokračovat tam, kde přestal (na rozdíl do standardní úlohy Compact).
Tomuto chování lze zabránit parametrem do NOTES.INI, kdy Router počká, dokud DBMT předmětnou databázi "nepustí".
MailFileDisableCompactAbort=1