2

メールボックスの作成に使用するスクリプトがあります。エラー処理が期待どおりに機能していないことがわかりました。

Write-Host "Attempting to create mailbox."
[void](Enable-Mailbox johndoe `
    -DisplayName "Doe,John" `
    -Alias johndoe `
    -RetentionPolicy 'Custom Retention Policy' `
    -ActiveSyncMailboxPolicy 'Default')
if($?){
    Write-Host "User & mailbox created"; Write-Host}
else{
    Write-Host "Error creating user/mailbox" -ForegroundColor Red -BackgroundColor Yellow
    exit}
Add-MailboxPermission -Identity johndoe -User 'DOMAIN\ExchangeFullAdmins' -AccessRights 'FullAccess'
if($?){
    Write-Host "Permissions set on mailbox"; Write-Host}
else{
    Write-Host "Error setting ExchangeFullAdmins permissions on mailbox" -ForegroundColor Red -BackgroundColor Yellow
exit}

メールボックスの作成中にエラーが発生した場合、最初のものは とif($?)評価され$true、2 番目のものは と評価されます$false(操作するメールボックスがないため)。どちらも と評価されると思い$falseます。最初のものが正しく発射されない理由はありますか?

各コマンドで生成されるエラーは次のとおりです。

Enable-Mailbox : Unable to generate the e-mail address. Unable to load address module 'C:\Program Files\Microsoft\Excha
nge Server\V14\Mailbox\address\SMTP\AMD64\inproxy.dll' for address type 'SMTP'. Additional message: 'Access is denied'.
At \\server\share\temp.ps1:2 char:22
+ [void](Enable-Mailbox <<<<  johndoe `
+ CategoryInfo          : NotSpecified: (0:Int32) [Enable-Mailbox], RusException
+ FullyQualifiedErrorId : 385E7D70,Microsoft.Exchange.Management.RecipientTasks.EnableMailbox

Add-MailboxPermission : Cannot bind argument to parameter 'Identity' because it is null.
At \\server\share\temp.ps1:13 char:33
+     Add-MailboxPermission -Identity <<<<  johndoe -User 'DOMAIN\ExchangeFullAdmins' -AccessRights 'FullAccess'
    + CategoryInfo          : InvalidData: (:) [Add-MailboxPermission], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Exchange.Management.RecipientTa
   sks.AddMailboxPermission
4

1 に答える 1

2

型キャストが成功しているからだと思います。削除[void]して再試行してください。

それが機能する場合は、[void]パイプする代わりに試しOut-Nullて、エラーが発生するかどうかを確認できます。

Enable-Mailbox johndoe ` -DisplayName "Doe,John" ` -Alias johndoe ` -RetentionPolicy 'Custom Retention Policy' ` -ActiveSyncMailboxPolicy 'Default' | Out-Null

于 2013-05-20T15:54:19.963 に答える