Migracja w hybrydzie – zakończenie pojedynczej skrzynki w zadaniu synchronizacji

ciekawostka, bo wszyscy piszą, że się nie da… a się da.

jeśli założy się zadanie migracyjne Ex-EXO w którym jest wiele kont, to można potem usunąć pojedynczą skrzynkę użytkownika, ale nie bardzo jest sposób na to, żeby tylko jedną skończyć. jeśli jednak się przyjrzeć w jaki sposób działa parametr ‘AutoComplete’ dla wsadu migracji, sprawa okazuje się oczywista.

korzystając z PowerShell, jeśli chcemy zsynchronizować skrzynki ale ręcznie ustalić kiedy mają się przełączyć wygląda to np tak:

$binBatch=[System.IO.File]::ReadAllBytes($bPath)
$mbParam=@{
    name="transza01";
    AutoComplete=$false;
    AutoStart=$true;
    badItemLimit='50';
    CSVData=$binBatch;
    SourceEndpoint='MigrationEndPoint';
    TargetDeliveryDomain='w-files.pl'
} 
New-MigrationBatch @mbParam

gdzie opisywanym parametrem jest oczywiście ‘AutoComplete’. ale kiedy podejrzy się potem takie zadanie – gdzie to sobie siedzi? jeśli posłużymy się get-migrationUser żeby to znaleźć – nie bardzo się uda. parametr jest dziedziczony z całego wsadu, stąd może wydawać się niemożliwe ukończenie pojedynczej skrzynki. jeśli jednak wyświetli się i sprawdzi w jaki sposób jest to de facto zrealizowane, to rozwiązanie nasuwa się samo. tak na prawdę dla całego zadania ustawiany jest atrybut ‘completeAfter’ na jakąś chorą datę – w tym przypadq wyjątkowo szybko:

PS C:\_scriptZ> Get-MigrationBatch -Identity transza01|select completeAfter*

CompleteAfter CompleteAfterUTC
------------- ----------------
01.01.4501 00:00:00 01.01.4501 00:00:00

wyjątkowo szybko, bo zazwyczaj widzę 31.12.9999 . z jakiegoś powodu tym razem czas został kapkę skrócony, ale i tak jestem zbyt niecierpliwy, żeby czekać tyle czasu (;

…a zatem aby skończyć pojedynczą synchronizację wystarczy ustawić jej czas ‘completeAfter’ na obecny. korzystam z jednej z dwóch metod:

set-migrationUser <user-email> -CompleteAfter ((get-date).ToUniversalTime())

lub

set-migrationUser <user-email> -CompleteAfter ((get-date).AddDays(-1))

ustawiając datę z przeszłości – jeśli chcę mieć 1oo%, że to nie chodzi o UTC. nie porównywałem czy efekt jest identyczny. przez jakiś czas nic się nie dzieje (statystyki nie pokazują statusu jako ‘completing’), ale po ok 1h skrzynka jest ‘completed’.

eN.