Poistetun postilaatikon palauttaminen PowerShellillä

Riippumatta siitä, kuinka vahingossa poistit henkilön postilaatikon Exchangessa(Exchange) , voit luultavasti palauttaa sen PowerShellin(PowerShell) ( PoSh ) avulla. Avain tekee sen heti, kun huomaat, että postilaatikko on poistettu. 

Se on sydän hyppäsi kurkkuun, kun ymmärrämme tehneemme tämän vahingossa. Jos olet poistanut vain muutaman sähköpostiviestin, voimme näyttää, kuinka voit palauttaa poistetut sähköpostit myös Office 365:ssä(how to recover deleted emails in Office 365) .

Ennen kuin aloitamme, huomaa, että tämä on tarkoitettu poistettujen postilaatikoiden palauttamiseen Exchange Onlinessa(Exchange Online ) Office 365 -ympäristössä ja Exchange 2010 :ssä . Oletamme myös, että sinulla on järjestelmänvalvojan oikeudet käyttää kuvattuja menetelmiä ja olet suorittanut PowerShellin peruskomentosarjat(basic PowerShell scripting)

Mitä tapahtuu, kun postilaatikko poistetaan?(What Happens When a Mailbox Is Deleted?)

Postilaatikko siirretään joko Azure Active Directory (AD) -roskakoriin Exchange Onlinessa(Exchange Online) tai Disconnected Mailboxes -hakemistoon Exchange 2010:ssä.

Se voi olla siellä jopa 30 päivää voimassa olevista säilytyskäytännöistä riippuen. Se antaa meille armonajan tunnistaa virheemme ja toipua siitä.

Palauta poistettu postilaatikko Exchange Onlinessa(Restore a Deleted Mailbox In Exchange Online)

Yhdistä Exchange Onlineen PowerShellin kautta(Connect To Exchange Online Via PowerShell)

Avaa paikallisessa istunnossasi Powershell- konsoli ja käytä seuraavaa komentoa asettaaksesi kirjautumistietosi muuttujaan.

$userCredential

Tämä helpottaa muiden skriptien käyttöä myöhemmin.

$userCredential = get-Credential

Näyttöön tulee ikkuna, johon voit kirjoittaa käyttäjätunnuksesi ja salasanasi Exchange Onlinen(Exchange Online) hallintaa varten .

Aseta seuraavaksi suorituskäytännön taso, jotta voimme todella tehdä asioita istunnossamme. Tämä antaa meille mahdollisuuden suorittaa allekirjoittamattomat komentomme. Mutta saatat haluta oppia myös PowerShell-komentosarjojen allekirjoittamisen parhaita käytäntöjä(best practices for signing PowerShell scripts) .

set-ExecutionPolicy Unrestricted

Paina pyydettäessä Y valitaksesi(Y) Kyllä.

Nyt luomme muuttujan $session , jota käytetään yhteyden avaamiseen paikallisen tietokoneen ja Exchange Onlinen(Exchange Online) välillä .

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection

Powershell-liveid on Office - sivustosi tunnus. Yleensä tämä on jokin muunnelma yrityksesi nimestä. 

Käytä seuraavaa komentoa avataksesi PoSh- istunnon Exchange Onlinessa(Exchange Online) :

import-PSSession $Session -DisableNameChecking

Nyt työskentelemme PowerShellin(PowerShell) kanssa suoraan Exchange Onlinessa(Exchange Online) , vaikka istummekin oman tietokoneemme ääressä.

Palauta poistettu postilaatikko PowerShellillä(Restore a Deleted Mailbox With PowerShell)

Seuraava osa on superhelppo. Yhteyden muodostaminen on vienyt meiltä paljon kauemmin. 

Meidän tarvitsee vain suorittaa alla näkyvä cmdlet:

undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)

Muuta molemmat [email protected] esiintymät palautettavan postilaatikon oikeaksi postilaatikon nimeksi ja Windows LiveID :ksi. Huomaa, että ne eivät välttämättä ole samat. 

Meidän on myös asetettava uusi salasana postilaatikolle. Vaihda skriptin(newpassword) uusi salasana valitsemaasi salasanaan. Sinun on välitettävä se käyttäjälle ja pyydettävä häntä vaihtamaan salasana seuraavan kerran kirjautuessaan sisään.

Käytä lopuksi seuraavaa cmdlet-komentoa varmistaaksesi, että tämä toimi. 

get-Mailbox [email protected]

Jos se on palautettu, cmdlet palauttaa tiedot palautetusta postilaatikosta. Jos se palauttaa virheilmoituksen, käy komennot uudelleen läpi ja varmista, että käytössä on oikea postilaatikko ja Windows LiveID

Jos tämä ei vieläkään auta, meidän on palautettava postilaatikko järjestelmän varmuuskopiosta. Järjestelmän varmuuskopioita on monen tyyppisiä, joten se ei kuulu tähän päivään.

Kun olemme valmis, meidän on suljettava PoSh- istunto. Järjestämiemme PoSh-(PoSh) istuntojen määrä on rajoitettu. Sen jättäminen auki käyttää yhtä näistä istunnoista. Ellemme sulje sitä, meidän on odotettava istunnon aikakatkaisua ennen kuin voimme aloittaa uuden.

remove-PSSession $Session

Se siitä. Haluat ehkä jopa kirjoittaa tämän PowerShell-moduuliin(PowerShell Module) käytön helpottamiseksi, jos se toistuu.

Palauta poistettu postilaatikko Exchange 2010:ssä(Restore a Deleted Mailbox In Exchange 2010)

Tämä ei toimi Office 365- tai hybridiympäristöissä. Se toimii vain Exchange 2010 :n paikallisissa tiloissa. 

Avaa sähköpostipalvelimella Exchange Management Console (EMC). 

Siirry kohtaan Vastaanottajan asetukset(Recipient Configuration ) > Yhteys katkennut(Disconnected Mailbox) . Meidän pitäisi nähdä käyttäjän postilaatikko siellä. 

Jos emme, postilaatikon tietokannan puhdistusprosessia ei ole vielä tapahtunut. Ei hätää, voimme pakottaa sen.

  • Avaa Exchange Management Shell ( EMS ) järjestelmänvalvojana. Täällä voimme tehdä Exchange-kohtaista PowerShell-(Exchange-specific PowerShell) työtä.
  • Nyt syötetään cmdlet: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • Kun tämä on tehty, palataan EMC :hen ja napsauta hiiren kakkospainikkeella Disconnected Mailbox ja napsauta sitten Refresh
  • Meidän pitäisi nähdä postilaatikko siellä nyt, ja se on yhdessä toisen äskettäin poistetun postilaatikon kanssa.

  • Palaa EMS :ään ja kirjoita cmdlet: 
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • Käyttäjätunnus(Username) on henkilön Windows - tilin nimi (kuten Test User ) , ja Mailbox Database on sen tietokannan nimi, joka on lueteltu hänen nimensä vieressä EMC:n Disconnected Mailbox -ikkunassa. 
  • Päivitä katkaistu postilaatikko(Disconnected Mailbox) ja sinun pitäisi nähdä, että heidän postilaatikkonsa ei enää näy siellä. Siirry kohtaan Vastaanottajan asetukset(Recipient Configuration ) > Postilaatikko(Mailbox ) ja varmista, että käyttäjän postilaatikko on siellä.

Tarkista, että kaikki asetukset, kuten sähköpostiosoite ja alias, ovat oikein. Jos se näyttää hyvältä, seuraavan kerran, kun käyttäjä avaa Outlookin(Outlook) , kaikki on siellä entisellään.

Postilaatikko palautettu(Mailbox Restored)

Näin voit käyttää PowerShellia(PowerShell) postilaatikoiden palauttamiseen Exchange Onlinessa(Exchange Online) ja Exchange 2010 :ssä . Jos sinulla on hybridiympäristö, se on hieman monimutkaisempi, mutta se voidaan tehdä. 

Pelkästään näiden eri cmdlet-komentojen olemassaolon tietäminen antaa sinulle hyvät mahdollisuudet työskennellä Exchangen(Exchange) kanssa versiosta tai kokoonpanosta riippumatta.



About the author

Olen tietokoneammattilainen, jolla on kokemusta Microsoft Office -ohjelmistojen, kuten Excelin ja PowerPointin, kanssa työskentelystä. Minulla on myös kokemusta Chromesta, joka on Googlen omistama selain. Taitojani ovat erinomainen kirjallinen ja suullinen kommunikointi, ongelmanratkaisukyky ja kriittinen ajattelu.



Related posts