Jump to content

Retten der MSX Attribute beim Disablen einer Mailbox


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute

 

Mit der Exchange-Erweiterung des Active Directory Schemas, wurden eine Reihe von Attributen erstellt. Darunter auch die ExtensionAttribute1-15.

Mit der neuen Version von Exchange (2007), sind die Maiboxen nur noch ueber die Powershell Scriptbar. Vorher verwendeten wir die CDOEXM Api.

Wir verwenden die ExtensionAttribute seit der Einfuehrung von Active Directory. Wir fuellen diese mit Informationen.

Da die ExchangeAttribute geloescht werden, sobald eine Mailbox geloescht wird, haben wir diese zwischen gespeichert und dann wieder geschrieben.

 

Wir hatten also eine Funktion die zur Mailboxloeschung aufgerufen wurde.

Diese machte folgendes:

1. Sichern der ExtensionAttributes1-15 in ein Array

2. Mailbox loeschen

3. Schreiben der ExtensionAttributes1-15 aus dem Array

 

Nun sind wir daran unsere Scripts in Powershell umzuschreiben. Zur Loeschung der Mailbox gibt es ein cmdlet: disable-mailbox

 

der neue Script wurde wieder so aufgebaut:

 

1. Sichern der ExtensionAttributes1-15 in ein Array

2. Mailbox loeschen

3. Schreiben der ExtensionAttributes1-15 aus dem Array

 

Das Problem ist, dass die ExtensionAttributes verschwinden obwohl wir diese nach der Loeschung wieder schreiben. Ich vermute deshalb, dass der Befehl die Mailbox zu loeschen, in Exchange verzoegert ausgefuehrt wird.

Hat jemand eine Idee, wie wir unser Problem loesen koennen.

Ihr muesst euch vorstellen, dass diese Funktion in ein Webtool eingebaut ist, welches von den UserAccount-Managern verwendet wird. Diese Loeschen z.B. Mailboxen ueber unser Webtool.

Link zu diesem Kommentar

Hallo lamort,

 

das Thema Exchange ist zwar überhaupt nicht mein Fall, aber

hast du da schonmal geschaut?

 

Disable-Mailbox

 

-- schnipp--

 

Unter normalen Bedingungen wird ein Postfach sofort nach Abschluss des Befehls Disable-Mailbox oder Remove-Mailbox als getrennt markiert. Wenn das Postfach jedoch deaktiviert oder entfernt wurde, während der Exchange-Informationsspeicherdienst beendet wurde, oder durch ein anderes externes Mittel als die Exchange-Verwaltungsschnittstellen deaktiviert oder entfernt wurde, ist der Status des Postfachobjekts in der Exchange-Postfachdatenbank nicht als getrennt markiert. In diesem Fall können Sie das Cmdlet Clean-MailboxDatabase verwenden, um den Active Directory-Verzeichnisdienst nach getrennten Postfächern zu durchsuchen, die in der Microsoft Exchange-Postfachdatenbank noch nicht als getrennt markiert sind, und den Status dieser Postfächer im Exchange-Informationsspeicher zu aktualisieren.

 

--schnapp--

 

Vielleicht hilfts ein wenig weiter.

 

Gruß

 

Dirk

Link zu diesem Kommentar

Hallo Dirk

 

Danke fuer die schnelle Antwort. die Beschreibung des disable-mailbox cmdlet kenne ich. In diesem Fall geht es nur um das Trennen der Mailbox mit dem AD Account. Je nach Zustand des Systemes kann es sein, dass eine Mailbox von einem Accoutn getrennt wurde aber nicht entsprechend Markiert wurde, das Cmdlet Clean-MailboxDatabase holt dies dann nach. Dies hat aber auf die ExtensionAttribute keinen Einfluss. Jedenfalls interpretiere ich das so.

Link zu diesem Kommentar

hallo lamort,

 

Ich vermute deshalb, dass der Befehl die Mailbox zu loeschen, in Exchange verzoegert ausgefuehrt wird.

 

Wenn ich dich richtig verstanden habe, musst du sicherstellen, das die Mailbox disabled ist, bevor du die Attribute zurückschreibst...

 

Dafür müsstest du schauen, ob das Teil wirklich disabled ist, bevor du die Attribute zurückschreibst...

 

 

Oder steh' ich da gerade auf dem Schlauch?

 

Gruß

 

Dirk

 

PS: Ich glaub jetzt kommt mir wieder in Erinnerung warum ich mich noch nie mit einer Version von Exchange > 5.5 tiefer auseinandergesetzt habe :)

Link zu diesem Kommentar

Hallo Dirk,

Ja, das ist eine Variante. Nur dauert diese zulange, bei uns mindestens 40-60 Sekunden.

Die Funktion wuerde dann wie folgt aussehen:

 

1. Sichern der ExtensionAttributes1-15 in ein Array

2. Mailbox loeschen

3. Loop ist MailboxWirklich geloescht? wenn ja weiter

4. Schreiben der ExtensionAttributes1-15 aus dem Array

 

Das bedeutet, wenn ein UserAccountManager den Task hat mehrere Mailboxen zu loeschen, muss er jeweils mindestens 40-60 Sekunden (Solange dauert es bis die Mailbox tatsaechlich disabled ist) warten bis er die naechste loeschen kann.

In unserer Umgebung haben wir ca. 40'000 Mailboxen und muessen solche Prozesse, wie das Loeschen der Mailboxen, moeglichst optimiert entwickeln.

Deshalb moechte ich wissen wie ich evtl. das Loeschen der Mailbox forcieren koennte oder ob es sonst Varianten gibt.

 

Gruesse Michel

Link zu diesem Kommentar

Mahlzeit....

 

Darf ich mal zwischenzeitlich anfragen, was du mit dem "Gefrickel" eingentlich erreichen willst? Wenn du an einem Konto die Exchange-Attribute entfernst, dann sind die Extension Attribute halt weg. Das sie verzögert abgeräumt werden, liegt daran, das dies der RUS ausführt, nachdem du den Exchange Task "Mailbox löschen" ausgeführt hast.

 

Wäre es nicht für deine Zwecke sinnvoller statt Extension Attributen von Exchange eine eigene Schemaerweiterung im AD zu etablieren und deine Werte dort zu pflegen? Dann musst du keine Verrenkungen wegen des Exchangeverhaltens machen.

Link zu diesem Kommentar

Hallo Carsten

 

Nun, als wir 2001 Active Directory eingefuehrt haben, empfahl Microsoft die Finger von Schemaaenderungen zu lassen. Das war damals ein Thema bei dem es noch wenig Erfahrungen gab. Deshalb wurde uns empfohlen die ExtAttr zu verwenden.

 

Neben den ExtensionAttributes, verwenden wir weitere MSX Attribute, wie zum Beispiel die ProxyAddresses.

Hier ein Beispiel:

Wenn ein User unsere Firma verlaesst, muessen wir dessen Emailadressen und Acountnamen fuer 15 Monate sichern. Also wird der Account deaktiviert und die Mailbox geloescht. Die Proxyadresses werden behalten (indem wir sie nach der Mailboxloeschung wieder schrieben).

Somit kann unsere Funktion welche neue Mailadressen generiert, in den Proxyaddresses kontrollieren ob die Mailadressen bereits existieren.

 

Der RUS exitiert in einer MSX2007 Nativ Umgebung nicht mehr. der asynchrone Zustand den es vorher gab, gbit es nicht mehr in MSX2007, die cmd-lets schreiben direkt in Active Directory, deshalb ist das Verhalten nach dem Mailboxloeschen so unverstaendlich.

Link zu diesem Kommentar

Hallo Michael,

 

Die Funktion wuerde dann wie folgt aussehen:

 

1. Sichern der ExtensionAttributes1-15 in ein Array

2. Mailbox loeschen

3. Loop ist MailboxWirklich geloescht? wenn ja weiter

4. Schreiben der ExtensionAttributes1-15 aus dem Array

 

Das bedeutet, wenn ein UserAccountManager den Task hat mehrere Mailboxen zu loeschen, muss er jeweils mindestens 40-60 Sekunden (Solange dauert es bis die Mailbox tatsaechlich disabled ist) warten bis er die naechste loeschen kann.

 

es wäre durchaus interessant zu wissen, ob das überhaupt klappt...

 

Dann könnte man ein mehrdimensionales Array erzeugen um die Performance zu verbessern...

 

user(0)attr(0-14)

user(1)attr(0-14)

 

Das dann in eine verschachtelte for -- next Schleife packen...

 

Mal so als Impression.

 

Wenn das Teilchen nach dem Motto FIFO arbeitet sollte es reichen zu prüfen ob die letzte Mailbox disabled wurde.

 

Gruß

 

Dirk

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...