在 Office 365 中通过 Powershell 使用 CSV 创建新邮箱
Create new mailboxes using a CSV via Powershell in Office 365
我需要在 Office 365 中通过 Powershell 创建新邮箱。
我正在使用这个脚本:
$User = "administrator@blablabla.onmicrosoft.com"
$PWord = ConvertTo-SecureString -AsPlainText -Force -String "P@ssword1"
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection
Import-PSSession $Session
Import-CSV new.csv | foreach {
New-Mailbox -UserPrincipalName $_.UserPrincipalName -displayname $_.DisplayName -password (ConvertTo-SecureString $_.password -AsPlainText -Force) -usagelocation "us"
}
Get-PSSession | Remove-PSSession
邮箱的详细信息保存在 new.csv 文件中。
请参阅以下示例:
UserPrincipalName,DisplayName,password
clark.kent@blablabla.onmicrosoft.com,Clark Kent,P@ssword1
bruce.wayne@blablabla.onmicrosoft.com,Bruce Wayne,P@ssword1
peter.parker@blablabla.onmicrosoft.com,Peter Parker,P@ssword1
当我运行这个脚本时,我return错误:
A parameter cannot be found that matches parameter name 'UserPrincipalName'.
+ CategoryInfo : InvalidArgument: (:) [New-Mailbox],
ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-Mailbox
+ PSComputerName : outlook.office365.com
请问,有什么问题吗?
你能帮帮我吗?
UPN 参数仅在本地 Exchange 上可用。根据你的AD是在本地还是在云端,我建议先用这个参数创建AD账号,然后再启用邮箱。
或者干脆不使用这个参数。
尝试使用 -identity 而不是 -userprincipalname
正确的方法是通过 MicrosoftOnlineServicesID 参数执行此操作,该参数似乎复制了 UPN。
New-Mailbox -Alias $mailbox.Alias -Name $mailbox.Name -DisplayName $mailbox.DisplayName -ResetPasswordOnNextLogon $true -Password $temporaryPassword -MicrosoftOnlineServicesID $upn -WhatIf
WARNING: After you create a new mailbox, you must go to the Office 365 Admin Center and assign the mailbox a license, or it will
be disabled after the grace period.
What if: Creating mailbox "Anna" with User Principal Name "anna@domain.org.pl" in organizational
unit "EURPR06A004.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/domain.onmicrosoft.com".
完整的故事可以在我的 blog 找到,但您只需要将 UPN 更改为 MicrosoftOnlineServicesID 它应该马上工作。
我需要在 Office 365 中通过 Powershell 创建新邮箱。 我正在使用这个脚本:
$User = "administrator@blablabla.onmicrosoft.com"
$PWord = ConvertTo-SecureString -AsPlainText -Force -String "P@ssword1"
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection
Import-PSSession $Session
Import-CSV new.csv | foreach {
New-Mailbox -UserPrincipalName $_.UserPrincipalName -displayname $_.DisplayName -password (ConvertTo-SecureString $_.password -AsPlainText -Force) -usagelocation "us"
}
Get-PSSession | Remove-PSSession
邮箱的详细信息保存在 new.csv 文件中。 请参阅以下示例:
UserPrincipalName,DisplayName,password
clark.kent@blablabla.onmicrosoft.com,Clark Kent,P@ssword1
bruce.wayne@blablabla.onmicrosoft.com,Bruce Wayne,P@ssword1
peter.parker@blablabla.onmicrosoft.com,Peter Parker,P@ssword1
当我运行这个脚本时,我return错误:
A parameter cannot be found that matches parameter name 'UserPrincipalName'.
+ CategoryInfo : InvalidArgument: (:) [New-Mailbox],
ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,New-Mailbox
+ PSComputerName : outlook.office365.com
请问,有什么问题吗? 你能帮帮我吗?
UPN 参数仅在本地 Exchange 上可用。根据你的AD是在本地还是在云端,我建议先用这个参数创建AD账号,然后再启用邮箱。
或者干脆不使用这个参数。
尝试使用 -identity 而不是 -userprincipalname
正确的方法是通过 MicrosoftOnlineServicesID 参数执行此操作,该参数似乎复制了 UPN。
New-Mailbox -Alias $mailbox.Alias -Name $mailbox.Name -DisplayName $mailbox.DisplayName -ResetPasswordOnNextLogon $true -Password $temporaryPassword -MicrosoftOnlineServicesID $upn -WhatIf
WARNING: After you create a new mailbox, you must go to the Office 365 Admin Center and assign the mailbox a license, or it will
be disabled after the grace period.
What if: Creating mailbox "Anna" with User Principal Name "anna@domain.org.pl" in organizational
unit "EURPR06A004.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/domain.onmicrosoft.com".
完整的故事可以在我的 blog 找到,但您只需要将 UPN 更改为 MicrosoftOnlineServicesID 它应该马上工作。