Beiträge von tray-park

    Hi,


    danke für die rasche Anwort. So hat es funktioniert, das Skript auszuführen. Allerdings macht dieses an für sich noch einige Probleme.


    Ich weiß noch nicht so wirklich, wie der komplette Import am besten zu automatisieren ist.


    Wäre es nicht besser eine Batch-Datei mit ins Spiel zu bringen, welche zuerst das PowerShell-Script mit dem Import und dem Löschvorgang startet und dann das Java-Programm.


    Oder kann ich das mit der Shell automatisieren?


    Ich bin verwirrt :(


    Die Shell muss doch das selbe wie die CMD können oder?

    Hi,


    ich bin gerade ein PowerShell Script am schreiben, welches automatisiert PST-Files in ein Postfach laden soll.


    Die Abfolge des kompletten Import-Vorgangs ist folgende:


    1. Import des Postfachs mit PowerShell
    2. Erstellen des Logfiles mit PowerShell


    3. Import der Mails mit Java-Programm in Archivierungssystem
    4. Löschen der Mails mit Java-Programm


    5. Deaktivieren des Postfachs mit PowerShell
    6. Erstellen eines neuen Postfachs mit PowerShell


    Weil ich bloß Schritt 1,2,4 und 6 mit der PowerShell realisieren kann, ist das Automatisieren des Vorgangs noch etwas problematisch.


    Somit muss in das Script eine Variable, in welches das Java-Programm dann Werte an das PowerShell Script übergibt.


    Diese Werte sind die Dateinamen der PST-Files.


    Das Java-Programm ruft also nach dem Auslesen des Dateinamens das PowerShell-Script auf und dieses übernimmt dann den Importvorgang.


    Zu Testzwecken fordere ich den Benutzer auf den Pfad der PST-Datei einzugeben, damit die Variable gefüllt wird.


    So sieht das Script bisher aus.


    <code>
    # Pfad-Variable wird definiert
    $pfad=""


    # Benutzer wird aufgefordert die Variable zu füllen
    $pfad = Read-Host "Bitte geben Sie den Dateipfad ein"


    # Überprüfung ob der Pfad im Filesystem mit dem eingegebenen Pfad übereinstimmt
    if ((test-path $pfad))
    {
    Write-Host "Der Pfad ist okay"


    # Inhalt des Ordners im Filesystem wird ausgelesen und in eine weitere Variable geschrieben

    $pstdaten=Get-ChildItem -Path $pfad -Name -Include *.pst


    # Schleife ruft das Import Cmdlet auf und kopiert die Log-Datei in einen anderen Ordner
    foreach ($i in $pstdaten)
    {
    # Hier tritt das Problem auf. Die Shell kann plötzlich nix mit dem Import-Cmdlet anfangen
    # und schreibt den Inhalt der Variable nicht hinter den Dateipfad
    Import-Mailbox -Identity "Migration" -PSTFolderPath "D:\PST-Import\$pstdaten" -AllowDuplicates
    Move-Item "D:\Microsoft\Exchange Server\V14\Logging\MigrationLogs\*.*" -destination "D:\PST-Import\Logs"
    }

    # Stimmt der Pfad nicht überein, gibts ne Fehlermeldung
    }
    else
    {
    Write-Host "Ungültiger Pfad" -ForegroundColor Red
    }
    </code>


    Wie auskommentiert beschrieben, kann die Shell plötzlich nix mit der Import-Anweisung anfangen.


    Ich bekomme folgende Fehlermeldung


    <code>
    Die Benennung "Import-Mailbox" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführb
    aren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), un
    d wiederholen Sie den Vorgang.
    Bei D:\PST-Import\Auto-Migration.ps1:28 Zeichen:17
    + Import-Mailbox <<<< -Identity "Migration" -PSTFolderPath "D:\PST-Import\$pstdaten" -AllowDuplicates
    + CategoryInfo : ObjectNotFound: (Import-Mailbox:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    </code>


    Kann mir hier jemand helfen?


    P.S. Fairerweise möchte ich darauf hinweisen, dass ich bei diesem Skript Unterstützung eines Mitglieds des http://www.administrator.de und bei der Umsetzung des Import-Vorgang jede Menge Hilfe des http://www.nobbysweb.de/ Boards hatte.


    Danke an dieser Stelle :)


    Freue mich über jede Anregung.


    Grüße



    Tray :)

    Hi,


    abgesehen davon, dass ich noch immer nicht gecheckt habe, wie man die Rechte auf die Verteilerlisten gescheit verteilt, sind sie nun zu sehen. Hat etwas länger als 24 Stunden gedauert, aber funktioniert :)


    Wie kann ich denn nun die Berechtigungen so einstellen, dass nicht Jeder, jede Verteilerliste sieht?


    Und was ist denn ein BPA?


    Danke für die Hilfe übrigens.

    Hi,


    ich möchte eine Verteilerliste im Exchange 2010 einrichten.


    Früher konnte man eine neue Gruppe als Verteiler einrichten und dann die Mitglieder hinzufügen. Die waren dann im Globalen Adressbuch in Outlook zu sehen.


    Das kann man zwar mit Server 2008 und Exchange 2010 immer noch so machen, aber die Verteilerlisten werden nicht angezeigt.


    Also hab ich eine Verteilergruppe im Exchange 2010 über "Empfängerkonfiguration" > "Verteilergruppe" angelegt und alle aus der Abteilung "Technik" als Mitglieder hinzugefügt.


    In Outlook sehen die Techniker die Verteilerliste, aber keiner aus der Abteilung des Vertriebs oder des Marketing.


    Verteilerlisten mit Usern aus Vertrieb und Marketing, bekommen auch keine Verteilerlisten zu sehen. Nicht einmal diese, in welchen sie selbst Mitglied sind.


    Die Techniker haben aber die selben Berechtigungen wie Marketing und Vertrieb.


    Was mach ich hier verkehrt?

    Hi,


    ich habe mittlerweile ne neue Idee!


    Und zwar versuch ich den Import gerade über Öffentliche Ordner.


    Geht das? Ich glaub aber, dass ich da mit dem Import-Mailbox Cmdlet nicht weiter komme.