Hi,
Cool! Das funktioniert! Das Java-Programm wird aufgerufen. Nun muss nur noch meine Schleife funktionieren, die dann jede PST-Datei Stück für Stück abarbeitet.
<code>
# Variablen werden definiert
$pfad=""
$datei=""
# Benutzer wird aufgefordert die Variable zu füllen
$pfad = Read-Host "Bitte geben Sie den Dateipfad ein"
$datei = Read-Host "Bitte geben Sie den Dateinamen 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 und Name der PST-Datei im Filesystem werden ausgelesen und in eine weitere Variable geschrieben
$pstdaten=Get-ChildItem -Path "D:\PST-Import\PST-Files" -Name -Include $datei
foreach ($i in $pstdaten)
{
# Postfach wird deaktiviert
Disable-Mailbox -Identity "Migration"
# Postfach wird aktiviert
Enable-Mailbox -Identity "Migration"
# PST-Datei wird importiert
Import-Mailbox -Identity "Migration" -PSTFolderPath "D:\PST-Import\PST-Files\$datei" -AllowDuplicates
# Log-Datei wird kopiert
Move-Item "D:\Microsoft\Exchange Server\V14\Logging\MigrationLogs\*.*" -destination "D:\PST-Import\Logs"
# Java-Programm wird aufgerufen
invoke-expression -command "D:\PST-Import\archivieren.jar"
}
# Stimmt der Pfad nicht überein, gibts ne Fehlermeldung
}
else
{
Write-Host "Ungültiger Pfad" -ForegroundColor Red
}
</code>
Es muss ein Fehler in der Schleife sein. Ich kann auch nicht jedes mal den Dateinamen der PST in die Variable $datei setzen. Kann die Shell nicht irgendwie eine PST-Nach der anderen auslesen und den Dateinamen in die Variable setzen?
Zitat
$pstdaten=Get-ChildItem -Path "D:\PST-Import\PST-Files" -Name -Include $datei
foreach ($i in $pstdaten)
{
# Postfach wird deaktiviert
Disable-Mailbox -Identity "Migration"
# Postfach wird aktiviert
Enable-Mailbox -Identity "Migration"
# PST-Datei wird importiert
Import-Mailbox -Identity "Migration" -PSTFolderPath "D:\PST-Import\PST-Files\$datei" -AllowDuplicates
# Log-Datei wird kopiert
Move-Item "D:\Microsoft\Exchange Server\V14\Logging\MigrationLogs\*.*" -destination "D:\PST-Import\Logs"
# Java-Programm wird aufgerufen
invoke-expression -command "D:\PST-Import\archivieren.jar"
}
Alles anzeigen