- Početna
- Radni prostor
- Instalacija
- Preduzeće
- Docker
- Migracija podataka iz MS Exchange u ONLYOFFICE
Migracija podataka iz MS Exchange u ONLYOFFICE
Uvod
Ovaj članak će vam pokazati kako možete preneti podatke sa MS Exchange na ONLYOFFICE. Trenutno su podržani sledeći tipovi podataka za prenos:
- korisnici,
- poštanski sandučići,
- e-mail poruke.
U narednim izdanjima planiramo dodati podršku za sledeće podatke:
- kalendare,
- kontakte,
- zadatke.
Izvoz podataka iz MS Exchange
Pokretanje potrebne usluge
Prvo, morate se uveriti da je usluga Microsoft Exchange Mailbox Replication (ili MSExchangeMailboxReplication) pokrenuta. Pokrenite sledeću komandu u cmd konzoli:
Get-Service -name MSExchangeMailboxReplication
Ako je potrebna usluga pokrenuta, rezultat komande će izgledati ovako:
Status Name DisplayName
------ ---- -----------
Running MSExchangeMailb... Microsoft Exchange Mailbox Replication
Ili možete otići na Windows Kontrolna tabla - Administrativni alati - Usluge, pronaći Microsoft Exchange Mailbox Replication i pokrenuti je.
Dodeljivanje prava
Dodelite administrativna prava korisniku koji će izvoziti poštanske sandučiće iz MS Exchange:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User <user name>
Gde je <user name> korisničko ime osobe koja će izvoziti podatke. Ako ćete to raditi sami, dodelite ovu ulogu svom nalogu.
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User JohnNakon toga, ponovo pokrenite Exchange Web Services (EWS) konzolu sa administratorskim pravima. To se radi klikom desnim tasterom miša na EWS ikonu u start meniju i izborom opcije Pokreni kao administrator.
Pokretanje skripte
Sada preuzmite skriptu koja će obaviti sve što je potrebno za ispravan izvoz podataka iz MS Exchange. Skripta je dostupna ovde. Kada je preuzmete, pokrenite je u EWS konzoli:
.\ExportExchangeData.ps1 -dir "C:\Temp"
Gde je .\ExportExchangeData.ps1 putanja do skripte, a -dir "C:\Temp" putanja do foldera koji će se koristiti za izvoz fajlova.
-dir će biti deljen za sve. Ovo je neophodno za ispravan rad komande New-MailboxExportRequest. Nakon završetka rada skripte, deljenje će biti uklonjeno sa foldera.Folder sa izvezenim fajlovima zatim treba preneti na računar sa instaliranim ONLYOFFICE.
PST fajlovi sadrže ispravne podatke, možete koristiti besplatni alat pst-viewer za to.- Prvo, skripta kreira folder postavljen sa parametrom
-diriznad. Ako parametar nedostaje, koristiće se podrazumevani folderC:\Temp. - Kada je kreiran, folder se deli za sve, kako bi komanda
New-MailboxExportRequestmogla ispravno da radi. - Zatim skripta proverava da li je fajl sa listom korisnika prethodno kreiran, briše ga ako je pronađen i lista korisnika se izvozi u njega koristeći komandu:
Get-Mailbox | Select DisplayName, PrimarySmtpAddress, Alias | Export-Csv $usersListPath - Nakon toga, kreira se folder za poštanske sandučiće (stari će biti uklonjen, ako postoji), i započinje izvoz korisničkih poštanskih sandučića. To će potrajati neko vreme u zavisnosti od broja korisnika, njihovih sandučića i podataka prisutnih u njihovim e-mail porukama. Sandučići i poruke će biti sačuvani u PST formatu u folderu
\PST\(izgledati će kao\\ServerName\Temp\PST\za druge računare preko mreže) direktorijuma prethodno postavljenog sa komandom-dir. - Na kraju, deljenje se uklanja sa foldera i skripta završava svoj rad.
Tokom rada skripte mogu nastati neke greške. Ispod su najčešće od njih i načini za rešavanje problema.
-
Greška #1
Ime mora biti jedinstveno po poštanskom sandučiću. Ne postoji podrazumevano ime dostupno za novi zahtev koji poseduje poštanski sandučić 'mailbox.local/folder/user'. Molimo očistite postojeće zahteve koristeći Remove cmdlet ili navedite jedinstveno ime. + CategoryInfo : InvalidArgument: (mailbox.local/folder/user:MailboxOrMailUserIdParameter)[New-MailboxExportRequest], NoAvailableDefaultNamePermanentException + FullyQualifiedErrorId : [Server=ServerName,RequestId=4a67e451-556c-4ba0-9ab9-9d2ce8a120ff,TimeStamp=11/7/2017 9:46:58 AM] [FailureCategory=Cmdlet-NoAvailableDefaultNamePermanentException] 7B0B3FF9, Microsoft.Exchange.Management.Migration.MailboxReplication.MailboxExportRequest.NewMailboxExportRequest + PSComputerName : servername.mailbox.localRešenje
Pokrenite sledeću komandu:
Get-MailboxExportRequest | Remove-MailboxExportRequest -
Greška #2
New-MailboxExportRequest : Termin 'New-MailboxExportRequest' nije prepoznat kao ime cmdlet-a, funkcije, skripte ili operabilnog programa. Proverite pravopis imena, ili ako je putanja uključena, proverite da li je putanja ispravna i pokušajte ponovo. At line:1 char:39 + ... oreach ($Mailbox in (Get-Mailbox)) { New-MailboxExportRequest -Mailbo ... + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (New-MailboxExportRequest:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionRešenje
Ponovo pokrenite EWS konzolu i uverite se da je pokrećete sa administratorskim pravima.
-
Greška #3
\\ServerName\Temp\PST\user.pst Server ili ime deljenja navedeno u putanji može biti nevažeće, ili fajl može biti zaključan. + CategoryInfo : NotSpecified: (:) [New-MailboxExportRequest], RemotePermanentException + FullyQualifiedErrorId : [Server=ServerName,RequestId=40efdbf2-53bf-47e8-92b8-f8fa8a8f15db,TimeStamp=11/7/2017 9:55:48 AM] [FailureCategory=Cmdlet-RemotePermanentException] 94719DAF, Microsoft.Exchange.Management.Migration.MailboxReplication.MailboxExportRequest.NewMailboxExportRequest + PSComputerName : servername.mailbox.localRešenje
Folder
\\ServerName\Temp(onaj koji se koristi za izvoz poštanskog sandučeta i postavlja se sa skriptom parametrom-dir) mora biti deljen za pristup čitanju i pisanju. Ako ste ga prethodno delili, proverite da li ima samo pristup pisanju i ispravno promenite pristup.Uvoz MS Exchange podataka u ONLYOFFICE
Instalacija ONLYOFFICE Workspace Enterprise Edition i konfiguracija Mail Servera
Instalirajte Docker verziju ONLYOFFICE Workspace Enterprise Edition. Ovo se može uraditi instalacijom ONLYOFFICE Workspace Enterprise Edition koristeći skriptu i odabirom Docker instalacione varijante. Nakon toga, podesite mail server kao što je opisano ovde.
Prilikom povezivanja domena, potrebno je postaviti isti domen koji je korišćen za e-mail komunikaciju sa MS Exchange (domen sa korisničkih e-mail adresa). Ako trebate promeniti ime domena, potrebno je dodatno urediti datotekuusers.csv(koja je dobijena u prethodnom koraku), zamenjujući sve unose za stari MS Exchange domen novim. Ovo se radi sledećom komandom:
Gde jesed -i 's/exchange-domain.com/new-domain.com/g' users.csvexchange-domain.comstaro ime domena korišćeno sa MS Exchange, anew-domain.comje novo koje sada planirate da koristite.Preuzimanje skripte i instalacija/ažuriranje zavisnosti
Sada trebate preuzeti i raspakovati skriptu koja će izvršiti proces uvoza podataka. Ovo se može uraditi pomoću komande:
wget -O "ImportExchangeData.tar" "https://help.onlyoffice.co/products/files/httphandlers/filehandler.ashx?action=view&fileid=5549294&version=0&doc=TWVPQks1aUo2MEprc0tkbUF6K2Y4Um1OSi9tTkd6V0lyTHFocG0xZHE0QT0_IjU1NDkyOTQi0" && tar -xvf ImportExchangeData.tar && cd ./ImportKomanda će preuzeti i raspakovati datoteku, kreirajući sledeću strukturu foldera:
Import |-lib |---create_users.py |---mbox2imap.py |---mapping.json |---pst2mbox.sh |---get-mailboxes.sh |---install-passfinder.sh |---ASC.Mail.PasswordFinder.tar |-ImportExchangeData.py |-requirements.txtTrebaće vam Python v2.7 instaliran. Često je instaliran podrazumevano sa različitim Linux distribucijama, ali u slučaju da nedostaje, moraćete ga instalirati sami. Ovo je kako se radi za Debian-bazirane distribucije:
# apt install python # python -V Python 2.7.12Instalirajte pip (package manager), takođe neophodan za ispravan rad skripte:
# apt install python-pip # pip -V pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)I instalirajte ostale potrebne pakete:
pip install -r requirements.txtPokretanje skripte
Sada možete pokrenuti skriptu navodeći potrebne parametre:
./ImportExchangeData.py -d "<portal domain>" -u "<portal administrator email>" -pw "<portal administrator password>" -f <path to the folder with the exported data>Ako je vaš portal povezan putem HTTPS-a, potrebno je dodatno koristiti parametar-s "https"prilikom pokretanja koda.Zamenite parametre u zagradama sa vašim podacima portala i pokrenite skriptu:
./ImportExchangeData.py -d myportal.com -u "my.email.address@gmail.com" -pw "123456" -f /root/Temp/Sačekajte da skripta završi sa radom. Može potrajati neko vreme u zavisnosti od broja korisnika i količine njihovih podataka.
Rezultati rada skripte
Kada skripta završi sve što je predviđeno, rezultati će biti sledeći:
- novi korisnici portala sa e-mail adresama iz datoteke
users.csvće biti kreirani; - poštanski sandučići na ONLYOFFICE Mail Serveru će biti kreirani, koji će imati e-mail poruke iz MS Exchange i biće povezani u ONLYOFFICE Mail modulu za korisnike navedene u datoteci
users.csv; - datoteka
results-ok.txtće biti sačuvana u folderuImport, sadržavaće listu svih korisničkih naloga iz datotekeusers.csvi njihove lozinke, koje su uspešno kreirane; - datoteka
result-err.txtće biti sačuvana u folderuImport, sadržavaće listu svih korisničkih naloga iz datotekeusers.csv, koji su imali problema prilikom uvoza i kreiranja; - datoteka
mailboxes.jsonuJSONformatu će biti sačuvana u folderuImport, sadržavaće listu podešavanja potrebnih za povezivanje sa novokreiranim poštanskim sandučićima iz klijenata treće strane.
Ako kreirate neke poštanske sandučiće nakon uvoza, možete takođe dobiti podešavanja potrebna za njihovo povezivanje sa klijentima treće strane. Idite u folderImportExchangeData.pyi pokrenite komandu:
Datotekabash ./lib/get-mailboxes.sh -jmailboxes.jsonće biti prepisana sa novim podacima o poštanskim sandučićima.Prikaži šta skripta ImportExchangeData.py radi Sakrij- Kada se pokrene, skripta postavlja glavne radne datoteke i foldere: kako za datoteke i foldere potrebne za izlazne datoteke, tako i za folder sa ulaznim podacima (koji su izvezeni iz MS Exchange).
- U sledećem koraku skripta kreira korisnike, a zatim njihove poštanske sandučiće.
- Zatim skripta konvertuje izvezene datoteke u
mboxformat. - Kada je završeno, skripta instalira program
ASC.Mail.PasswordFinderkoji će pomoći u kreiranju datotekemailboxes.jsonkoja sadrži listu podešavanja potrebnih za povezivanje sa novokreiranim poštanskim sandučićima iz klijenata treće strane. - Nakon toga, sama datoteka
mailboxes.jsonse kreira. - I na kraju, datoteke u
mboxformatu se uvoze u poštanske sandučiće putem IMAP-a.
- novi korisnici portala sa e-mail adresama iz datoteke