Converti la casella di posta condivisa in casella di posta dell'utente con PowerShell

Il modo più veloce per convertire la casella di posta condivisa in casella di posta dell'utente in Exchange Server/Exchange Online è con PowerShell. Questo perché puoi eseguire la conversione per un singolo utente o più utenti. In questo articolo imparerai come convertire la casella di posta dell'utente in casella di posta condivisa con PowerShell.

Perché vuoi convertire una casella di posta condivisa in casella di posta utente:

  • Viene creata una casella di posta condivisa, ma dovrebbe essere una casella di posta dell'utente.
  • Accesso alla casella di posta dell'utente con credenziali.

Nota:È impossibile convertire la cassetta postale condivisa in cassetta postale dell'utente nell'interfaccia di amministrazione di Exchange locale. Questa operazione è possibile solo per le cassette postali cloud nell'interfaccia di amministrazione di Microsoft 365 Exchange. Niente panico, perché PowerShell porterà a termine il lavoro.

Importante:Se la tua organizzazione utilizza un ambiente ibrido di Exchange, devi gestire le tue cassette postali utilizzando gli strumenti di gestione di Exchange locali. Segui l'articolo Converti la casella di posta dell'utente in casella di posta condivisa in Exchange Hybrid.

Supponiamo di voler esportare tutte le caselle di posta, leggi l'articolo Ottieni la dimensione delle caselle di posta di tutti gli utenti in Exchange con PowerShell.

Converti in un diverso tipo di casella di posta

Vuoi impostare la casella di posta su un tipo diverso? ILTipoIl parametro specifica il tipo di casella di posta. Scegli uno dei valori validi:

  • Regolare (questo articolo)
  • Camera
  • Attrezzatura
  • Condiviso

Eseguire Exchange Management Shell come amministratore. Esegui ilSet-Mailboxcmdlet e specificare la casella di posta condivisa. È possibile inserire il nome visualizzato o l'indirizzo e-mail della casella di posta. Non riceverai un output che indichi l'esito positivo dell'operazione dopo aver eseguito il cmdlet.

[PS] C:>Set-Mailbox "Info" -Type Regular

[PS] C:>Set-Mailbox "[email protected]" -Type Regular

Verifica il tipo di casella di posta convertita

Come fai a sapere se la conversione della casella di posta condivisa in casella di posta dell'utente ha funzionato? Esegui ilOttieni-Mailboxcmdlet e mostrerà l'output. Verrà visualizzato comeCasella di posta utente, come visto di seguito.

[PS] C:>Get-Mailbox -Identity "Info" | Format-Table Name, RecipientTypeDetails

Name RecipientTypeDetails
---- --------------------
Info UserMailbox

[PS] C:>Get-Mailbox -Identity "[email protected]" | Format-Table Name, RecipientTypeDetails

Name RecipientTypeDetails
---- --------------------
Info UserMailbox

Sembra tutto fantastico!

Esistono un paio di metodi per convertire in blocco la casella di posta condivisa in casella di posta dell'utente:

Per saperne di più:Eliminazione definitiva della cassetta postale senza eliminare l'account utente in Microsoft 365

  1. File CSV
  2. File TXT

Converti in blocco la casella di posta condivisa in casella di posta dell'utente con file CSV

Convertire la casella di posta condivisa in casella di posta dell'utente con un file CSV seguendo i passaggi seguenti.

1. Preparare il file CSV della casella di posta dell'utente

InizioMicrosoft Excele scrivereE-mailnella cella in alto a sinistra (A1). Scrivi sotto la cella A1 tutte le caselle di posta condivise che desideri convertire in caselle di posta dell'utente. Scrivi il nome visualizzato o l'indirizzo email della casella di posta condivisa. Entrambi funzioneranno durante la conversione della casella di posta condivisa.

Nel nostro esempio viene scritto il nome visualizzato delle cassette postali.

Salvalo come file CSV nella cartellatempsul(C:)guidare con il nomeconverti_in_utente.csv.

Apri il file CSV con il tuo editor di testo preferito. Ad esempio, l'editor di testoBlocco notee guarda che tutto sembra perfetto.

2. Controlla il contenuto nel file CSV

Eseguire Exchange Management Shell come amministratore. Esegui ilImporta-Csvcmdlet per verificare che il contenuto sia leggibile in PowerShell.

[PS] C:>Import-Csv "C:tempconvert_to_user.csv"

Email          
-----          
Boris Campbell 
Edward Lincoln 
Mohammad Fistak
Jenny Brooks   
Grace Rees     

Puoi controllare il tipo di casella di posta corrente dal file CSV. Nel nostro esempio vengono mostrati diversi tipi di caselle di posta.

[PS] C:>Import-Csv "C:tempconvert_to_user.csv" | foreach {Get-Mailbox -Identity $_.Email} | ft Name, RecipientTypeDetails

Name            RecipientTypeDetails
----            --------------------
Boris Campbell         SharedMailbox
Edward Lincoln         SharedMailbox
Mohammad Fistak        SharedMailbox
Jenny Brooks           SharedMailbox
Grace Rees               UserMailbox

Filtra solo sulla casella di posta condivisa perché queste sono le caselle di posta che vogliamo convertire in casella di posta dell'utente.

[PS] C:>Import-Csv "C:tempconvert_to_user.csv" | foreach {Get-Mailbox -Identity $_.Email | Where-Object {$_.RecipientTypeDetails -eq "SharedMailbox"}} | ft Name, RecipientTypeDetails

Name            RecipientTypeDetails
----            --------------------
Boris Campbell         SharedMailbox
Edward Lincoln         SharedMailbox
Mohammad Fistak        SharedMailbox
Jenny Brooks           SharedMailbox

3. Converti le cassette postali in cassette postali dell'utente con lo script PowerShell

È ora di convertire in blocco la casella di posta condivisa in casella di posta dell'utente. Eseguire lo script PowerShell riportato di seguito per importare il CSV e impostare in blocco le cassette postali come utente.

Lo script PowerShell ti mostrerà quanto segue:

  • Se non viene trovata una casella di posta
  • È già una casella di posta utente
  • Convertito correttamente nella casella di posta dell'utente
$MailboxNames = "C:tempconvert_to_user.csv"

Import-Csv $MailboxNames | foreach {
    $Email = $_.Email
    $Mailbox = Get-Mailbox -Identity $Email -ErrorAction SilentlyContinue

    if ($null -eq $Mailbox) {
        Write-Host "Mailbox '$Email' not found." -ForegroundColor Red
    }
    elseif ($Mailbox.RecipientTypeDetails -eq "UserMailbox") {
        Write-Host "Mailbox '$Email' is already a user mailbox." -ForegroundColor Cyan
    }
    else {
        Set-Mailbox -Identity $Email -Type Regular -ErrorAction SilentlyContinue

        $UpdatedMailbox = Get-Mailbox -Identity $Email

        if ($UpdatedMailbox.RecipientTypeDetails -eq "UserMailbox") {
            Write-Host "Mailbox '$Email' converted to a user mailbox successfully." -ForegroundColor Green
        }
        else {
            Write-Host "Failed to convert mailbox '$Email' to a user mailbox." -ForegroundColor Red
        }
    }
}

4. Verificare il tipo di casella di posta convertita

Verificare che tutte le cassette postali degli utenti siano convertite in tipocasella di posta dell'utente.

[PS] C:>Import-Csv "C:tempconvert_to_user.csv" | foreach {Get-Mailbox -Identity $_.Email} | ft Name, RecipientTypeDetails

Name            RecipientTypeDetails
----            --------------------
Boris Campbell           UserMailbox
Edward Lincoln           UserMailbox
Mohammad Fistak          UserMailbox
Jenny Brooks             UserMailbox

Se preferisci utilizzare un file TXT invece di un file CSV, leggi la parte successiva.

Converti in blocco la casella di posta condivisa in casella di posta dell'utente con file TXT

Convertire la casella di posta condivisa in casella di posta dell'utente con un file TXT seguendo i passaggi seguenti.

1. Preparare il file TXT della casella di posta dell'utente

Inserisci i nomi visualizzati o gli indirizzi email della casella di posta dell'utente in un file di testo. Salvare il file di testo inC:tempCOMEconverti_in_utente.txt. Questa voltaE-mailnon viene visualizzato in alto. Questo perché non ne abbiamo bisogno.

2. Controlla il contenuto nel file TXT

Esegui ilOttieni contenutocmdlet, incluso il cmdlet Get-Mailbox, per verificare il tipo di cassetta postale corrente.

[PS] C:>Get-Content "C:tempconvert_to_user.txt" | Get-Mailbox | Format-Table Name, RecipientTypeDetails

Name            RecipientTypeDetails
----            --------------------
Boris Campbell         SharedMailbox
Edward Lincoln         SharedMailbox
Mohammad Fistak        SharedMailbox
Grace Rees             SharedMailbox

3. Converti le cassette postali in cassette postali dell'utente con lo script PowerShell

È ora di convertire in blocco la casella di posta condivisa in casella di posta dell'utente. Eseguire lo script PowerShell riportato di seguito per importare il file TXT e impostare in blocco le cassette postali come utente.

Lo script PowerShell ti mostrerà quanto segue:

  • Se non viene trovata una casella di posta
  • È già una casella di posta utente
  • Convertito correttamente nella casella di posta dell'utente
$MailboxNames = Get-Content "C:tempconvert_to_user.txt"

foreach ($MailboxName in $MailboxNames) {
    $Mailbox = Get-Mailbox -Identity $MailboxName -ErrorAction SilentlyContinue
    
    if ($null -eq $Mailbox) {
        Write-Host "Mailbox '$MailboxName' not found." -ForegroundColor Red
    }
    elseif ($Mailbox.RecipientTypeDetails -eq "UserMailbox") {
        Write-Host "Mailbox '$MailboxName' is already a user mailbox." -ForegroundColor Cyan
    }
    else {
        Set-Mailbox -Identity $MailboxName -Type Regular -ErrorAction SilentlyContinue
        
        $UpdatedMailbox = Get-Mailbox -Identity $MailboxName
        
        if ($UpdatedMailbox.RecipientTypeDetails -eq "UserMailbox") {
            Write-Host "Mailbox '$MailboxName' converted to user mailbox successfully." -ForegroundColor Green
        }
        else {
            Write-Host "Failed to convert mailbox '$MailboxName' to user mailbox." -ForegroundColor Red
        }
    }
}

4. Verificare il tipo di casella di posta convertita

È bene fare un controllo finale e verificare che mostri il tipocasella di posta dell'utente.

[PS] C:>Get-Content "C:tempconvert_to_user.txt" | Get-Mailbox | Format-Table Name, RecipientTypeDetails

Name            RecipientTypeDetails
----            --------------------
Boris Campbell           UserMailbox
Edward Lincoln           UserMailbox
Mohammad Fistak          UserMailbox
Grace Rees               UserMailbox

Questo è tutto!

Quale metodo hai utilizzato per convertire la casella di posta condivisa in casella di posta dell'utente?

Conclusione

Hai imparato come convertire la cassetta postale condivisa in cassetta postale dell'utente con PowerShell. Avviare Exchange Management Shell o Exchange Online PowerShell ed eseguire i comandi. Successivamente, verifica che RecipientTypeDetails venga visualizzato come UserMailbox.

È più veloce impostare la casella di posta in blocco invece di eseguire la casella di posta impostata una per una. È bello sapere che puoi convertire in blocco la casella di posta condivisa in casella di posta dell'utente con un file CSV o TXT. Entrambi i metodi funzionano alla grande.

Ti è piaciuto questo articolo? Potrebbe interessarti anche Ottieni le dimensioni della casella di posta condivisa in Office 365 con PowerShell. Non dimenticare di seguirci e condividere questo articolo.

Related Posts