Archiv » Dezember, 2016 «

16 | 12 | 2016

Quest Migration Manager for Exchange: Nun auch nach Exchange 2010 mit MAgE!

Geschrieben von um 19:36 Uhr

Still und heimlich hat Quest, noch unter der Marke „DELL Software“, ein Update-Paket für den Migration Manager 8.13 rausgebracht. Neben den üblichen Bugfixes gibt es eine tolle Neuerung: Der „neue“ Migration Agent fpr Exchhange (MAgE) kann nun auch nach Exchange 2010 migrieren. Das ermöglicht gleich zwei Dinge, die bis dato nicht gingen:

  • Migration von Exchange 2013 nach 2010 (der „alte“ Mail Source Agent konnte und kann nicht mit Exchange 2013 sprechen)
  • Migration in bestehende Postfächer (rettet mit gerade ziemlich den Abend, der alte Agent musste sie selber neu anlegen, bevor er bereit war, per MAPI da hinein zu schreiben)

Drei Dinge sind beim Einsatz des MAgE zu beachten:

  • Die SQL-Datenbank wird richtig groß (1.036 Bytes pro synchronisiertes Element) – das ist generell so bei MAgE, nicht nur mit Exchange 2010
  • Wenn die Synchronisierung eines Postfachs mit dem alten MSA/MTA begonnen wurde, kann man nicht auf MAgE umstellen, ohne dass es massenhaft Dubletten gibt
  • Man muss zwingend CPUU ab 5.6.4 einsetzen, um Profile zu migrieren.

Danke Quest, das war lange fällig! Und ja, es wird noch nach Exchange 2010 migriert 🙂

Tags » , , , , «

+

16 | 12 | 2016

Erstes Treffen der EXUSG Berlin – das war schön :-)

Geschrieben von um 19:25 Uhr

Gestern haben wir uns bei der dama.go am Spittelmarkt zum ersten Mal getroffen. Der Abend war ein voller erfolg – geballtes Know-How in einem Raum, inspirierende Vorträge, tolle Gespräche und auch ein bißchen Nostalgie 🙂

Mein Vorschlag, Termine für die Treffen in 2017 bereits jetzt festzulegen, wurde zumindest nicht abgelehnt. Die Termine stehen unter http://exusg.de/veranstaltungen/terminplanung-2017/ zur Abstimmung nach dem Motto „wer was dagegen hat, möge sich jetzt äußern oder für immer schweigen“.

Ich freue mich schon auf das nächste Treffen, voraussichtlich im Februar.

Tags » , , , , , , «

+

07 | 12 | 2016

PowerShell Quirks: String-Array als verbindliches Argument

Geschrieben von um 18:04 Uhr

Nicht wirklich schwierig, aber gut zu wissen: Nehmen wir mal eine Funktion, die irgendwas mit einem Array aus Strings machen soll. Und weil wir sie nicht umsonst aufrufen wollen, deklarieren wir diesen Parameter als verbindlich:

function Do-Something {
    [CmdletBinding()]
    Param(
        [Parameter (Mandatory=$true)][string[]]$in_content
    )
    foreach ($x in $in_content) {
        $col = Get-Random @('Red','Yellow','Green')
        Write-Host $x -ForegroundColor $col
    }
}

Wenn wir also Do-Something ‚blahblahblah‘ oder Do-Something @(‚blah‘,’suelz‘,’foo‘,’bar‘) aufrufen, bekommen wir das erwartete Ergebnis. Die Funktion sollte aber in meinem Fall Inhalte von Textdateien verarbeiten:

Do-Something (Get-Content 'c:\temp\textfile01.txt')

Und siehe da, prompt bekam man den Fehler „Do-Something : Cannot bind argument to parameter ‚in_content‘ because it is an empty string.„. Offensichtlich enthält die Textdatei eine leere Zeile, und diese wird durch den Mandatory-Dekorator geblockt.

Um dies zu umgehen, kann man den Parameter wie folgt definieren:

[Parameter (Mandatory=$true)][AllowEmptyString()][string[]]$in_content

Ganz ohne Argument kann man die Funktion danach immer noch nicht aufrufen. Happy scripting!

Tags » , , , , «

+