使用PowerShell将共享邮箱转换为用户邮箱

在线交换服务器/Exchange中将共享邮箱转换为用户邮箱的最快方法是使用PowerShell。那是因为您可以为单个用户或多个用户进行转换。在本文中,您将学习如何使用PowerShell将用户邮箱转换为共享邮箱。

为什么要将共享邮箱转换为用户邮箱:

  • 创建了共享的邮箱,但应该是一个用户邮箱。
  • 访问具有凭据的用户邮箱。

笔记:不可能将共享邮箱转换为本地Exchange Admin Center中的用户邮箱。这仅适用于Microsoft 365 Exchange Admin Center中的云邮箱。不要惊慌,因为Powershell将完成工作。

重要的:如果您的组织使用Exchange Hybrid环境,则需要使用本地交换管理工具来管理邮箱。请按照文章将用户邮箱转换为Exchange Hybrid中的共享邮箱。

假设您想要所有邮箱的导出,请阅读文章获得与PowerShell交换的所有用户的邮箱大小。

转换为其他邮箱类型

您要将邮箱设置为其他类型吗?这类型参数指定邮箱的类型。选择有效值之一:

  • 常规(本文)
  • 房间
  • 设备
  • 共享

运行Exchange Management Shell作为管理员。运行set-mailboxcmdlet并指定共享邮箱。您可以填写邮箱的显示名称或电子邮件地址。在运行CMDLET后,您将无法获得显示其成功的输出。

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

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

验证转换后的邮箱类型

您怎么知道将共享邮箱转换为用户邮箱是否有效?运行Get-Mailboxcmdlet,它将显示输出。它将显示为Usermailbox,如下所示。

[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

一切看起来都很棒!

有几种方法可以将共享邮箱转换为用户邮箱:

  1. CSV文件
  2. TXT文件

使用CSV文件将共享邮箱转换为用户邮箱

按照以下步骤将共享邮箱转换为用户邮箱。

1。准备用户邮箱CSV文件

开始Microsoft Excel并写电子邮件在左顶细胞(A1)中。在下面写入单元格A1,您喜欢转换为用户邮箱的所有共享邮箱。写出显示名称或共享邮箱的电子邮件地址。转换共享邮箱时,两者都可以工作。

在我们的示例中,邮箱显示名称。

将其保存为文件夹中的CSV文件温度(c :)名字的开车convert_to_user.csv

使用您喜欢的文本编辑器打开CSV文件。例如,文本编辑器记事本看看一切看起来都很棒。

2。在CSV文件中检查内容

运行Exchange Management Shell作为管理员。运行进口-CSVcmdlet验证内容是否可以在PowerShell中读取。

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

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

您可以从CSV文件中检查当前的邮箱类型。在我们的示例中,显示了不同类型的邮箱。

[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

仅在共享邮箱上过滤,因为这些是我们要转换为用户邮箱的邮箱。

[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。使用PowerShell脚本将邮箱转换为用户邮箱

是时候将共享邮箱转换为用户邮箱了。在下面运行PowerShell脚本以导入CSV和BOLK SET邮箱作为用户。

PowerShell脚本将向您显示以下内容:

  • 如果找不到邮箱
  • 已经是用户邮箱
  • 成功转换为用户邮箱
$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。验证转换后的邮箱类型

验证所有用户邮箱都转换为类型用户邮箱

[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

如果您想使用TXT文件而不是CSV文件,请阅读下一部分。

使用TXT文件将共享邮箱转换为用户邮箱

按照以下步骤将共享邮箱转换为用户邮箱。

1。准备用户邮箱TXT文件

将用户邮箱的显示名称或电子邮件地址放在文本文件中。将文本文件保存在C:温度作为convert_to_user.txt。这次电子邮件不在顶部。那是因为我们不需要它。

2。在TXT文件中检查内容

运行变得容易CMDLET,包括Get-Mailbox CMDLET,以检查当前的邮箱类型。

[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。使用PowerShell脚本将邮箱转换为用户邮箱

是时候将共享邮箱转换为用户邮箱了。在下面运行PowerShell脚本以导入TXT文件,并将批量设置为用户。

PowerShell脚本将向您显示以下内容:

  • 如果找不到邮箱
  • 已经是用户邮箱
  • 成功转换为用户邮箱
$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。验证转换后的邮箱类型

最好进行最终检查并验证它显示的类型用户邮箱

[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

就是这样!

您使用哪种方法将共享邮箱转换为用户邮箱?

另请阅读:邮箱尺寸超过目标配额(移动邮箱)

结论

您学习了如何使用PowerShell将共享邮箱转换为用户邮箱。启动Exchange Management Shell或在线交换PowerShell并运行命令。之后,验证收件人typededetails显示为usermailbox。

将邮箱设置为批量而不是一个接一个地运行SET邮箱的速度更快。很高兴知道您可以使用CSV文件或TXT文件将共享邮箱批量转换为用户邮箱。两种方法都很好。

您喜欢这篇文章吗?您可能还喜欢使用PowerShell在Office 365中获得共享的邮箱大小。不要忘记关注我们并分享这篇文章。