Knowledge Base

L'archivio documentale di supporto ai prodotti Achab.

KB51966 Utilizzo della console di Maisltore in modo interattivo e non interattivo.

Ultimo aggiornamento: 12/07/2017
Articolo valido per MailStore versione: 7 e successive

Utilizzo di script batch con Mailstore

MailStore Server viene di solito utilizzato e gestito tramite la sua GUI, ma è possibile usare anche un'altra interfaccia: la MailStore Server Management Shell.

La MailStore Server Management Shell è una interfaccia a riga di comando integrata in Mailstore serve che permette di dare istruzioni a Mailstore quando non è disponibile un’interfaccia grafica - per esempio quando ci si collega al proprio server mailstore via telnet o ssh.
Accetta comandi in maniera interattiva o non interattiva tramite script: per accedere in maniera interattiva, si va in

strumenti di amministrazione -> management API -> prompt dei comandi



e si inseriscono comandi da tastiera. Oltre che per l'utilizzo remoto, la shell di mailstore può essere usata in modo interattivo per il debug dei propri script. Il comando help permette di visualizzare tutti i comandi disponibili.

In modo non interattivo, invece, la console si collega a Mailstore Server con le credenziali che le vengono fornite, esegue i comandi che le passano, quindi esce.
Se i comandi sono stati eseguiti con successo la console restituisce 0, altrimenti valori diversi da 0.
Per accedere alla console in maniera non interativa si sua l'eseguibile MailStoreCmd.exe che si trova nella cartella di installazione di Mailstore Server. C'è anche un altro eseguibile, MailStoreCmdSilent.exe, che fa le stesse cose che fa MailStoreCmd.exe, ma senza aprire una console (prompt dei comandi di Windows) sulla macchina.

La sintassi di MailStoreCmd.exe e MailStoreCmdSilent.exe è questa

 MailStoreCmd.exe -h (server) -u (user) -p (password) --pvk3 (thumbprint) -c (command) [--param1=(value) --param2=(value) ...]

 

Parametro   Descrizione
-h Il  nome del Server Mailstore cui si collega MailStoreCmd.exe
--pvk3 La chiave pubblica che garantisce l'identità di Mailstore
-u il nome utente
-p  la password
-pc password criptata, alternativo a -p
--nologo impedisce la visualizzazione del logo di mailstore
--o Opzionale: redirige l'output su file 
-c esegue il comando che segue

         
    
   

MailStore mette a disposizione sul proprio sito degli script, per eseguire in maniera non interattiva alcuni task comuni:
 
  • l'esportazione di mail in file PST
  • l'importazione di file PST in Mailstore
  • l'importazione di file MBOX e
  • la cancellazione non interattiva di utenti.

Qui commenteremo lo script bulkImportPST.bat, che esegue l'importazione di mail da file PST di Outlook.



All'inizio vengono impostarte alcune variabili. Questa è la parte dello script che deve essere modificata con i valori relativi al proprio ambiente. 

set mailstoreCMD="C:\Program Files (x86)\deepinvent\MailStore Server\MailStoreCmd.exe"

il percorso dell'interprete di comandi di mailstoreCMD

set mailstoreHost='localhost'

il nome della macchina sulla quale viene eseguito mailstore. Se è la stessa sulla quale stiamo eseguendo lo script, si può lasciare 'localhost'

set mailstoreFingerprint='be:ef:ca:fe:af:fe:fa:ce'

La chiave pubblica che garantisce l'identità di Mailstore. Questo parametro (opzionale) può conservare il valore di default.

set mailstoreUser='admin'
set mailstorePassword='admin'


Nome utente e password dell'utente Mailstore con il quale viene eseguito lo script. Deve essere un amministratore di MailStore.)

set mailstoreProfileName='templateBulkImportPST'

Il profilo di importazione che deve essere eseguito. Deve esistere.

set mailstoreLogfile="C:\Documents and Settings\All Users\Application Data\MailStore\TaskLog\log_{DATE}-{TIME}_%2.log"

Opzionale, ma consigliato: il file nel quale MailStore scriverà il log delle operazioni che compie.

if [%1]==[] goto usage
if [%2]==[] goto usage
if [%1]==[/?] goto usage
goto main



in questa parte lo script controlla se ha ricevuto i paratri necessari: la cartella nella quale si trovano i PST e l'utente nel cui archivio mailstore vanno scritte le mail.
Se i parametri sono stati forniti, lo script passa alla parte main, altrimenti va a usage, che scrive a video quali sono i parametri necessari.

:usage
echo Import multiple PST files from a given directory into the archive of a the given MailStore user.
echo. 
echo USAGE: %0 directory user
echo.
echo        directory      Specifies the directory where PST files are stored
echo        user           Specifies the user where the emails should be archived
echo.
exit /B 1



Main:questa è la parte che fa il lavoro vero e proprio:

set sourceDirectory=%1
set destinationUser=%2


riceve i parametri dalla riga di comando dello script.

imposta la codepage per la lingua. 1252 va bene sia per l'inglese, che per il tedesco, che per l'italiano.

chcp 1252

compone la riga di comando. --nologo è opzionale e impedisce che venga mostrato a video il logo di mailstore.

set mailstoreCommandLine=%mailstoreCMD% --nologo --h=%mailstoreHost% --pkv3=%mailstoreFingerprint% --u=%mailstoreUser% --p=%mailstorePassword% --o=%mailstoreLogfile%

Ciclo for che esegue la riga di comando appena composta su tutti i file PST contenuti nella cartella specificata.

for %%p in (%sourceDirectory%\*.pst) do (
  %mailstoreCommandLine% -c import-execute --name=%mailstoreProfileName% --[outlookProfile]="%%p" --[targetUserFolder]=%destinationUser%



 

Questo articolo ti è stato utile?

Lasciaci un feedback

Hai trovato delle inesattezze, vorresti fare delle integrazioni all'articolo o anche solo darci un tuo parere? Scrivici liberamente utilizzando il modulo sottostante.

 

Le tue informazioni non verranno pubblicate, ma inviate privatamente al responsabile della Knowledge Base.