try { # Import admin credentials $serverAddress = Get-Content -Path ".\DefaultServer.txt" $credential = Import-Clixml -Path ".\AdminCredential.xml" # Establish session with Exchange Server $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://$serverAddress/PowerShell/ -Authentication Kerberos -Credential $credential Import-PSSession $session -DisableNameChecking # Parameter from batch script $identity = $args[0] # Get mailbox properties with quotas $mailbox = Get-Mailbox -Identity $identity | Select-Object DisplayName, IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota $mailboxStatistics = Get-MailboxStatistics -Identity $identity | Select-Object TotalItemSize, StorageLimitStatus # Display mailbox details Write-Host "Mailbox: $($mailbox.DisplayName)" -ForegroundColor Cyan Write-Host "Total Size: $($mailboxStatistics.TotalItemSize)" -ForegroundColor Yellow Write-Host "Storage Limit Status: $($mailboxStatistics.StorageLimitStatus)" -ForegroundColor Yellow Write-Host "Quota Limits:" -ForegroundColor Green Write-Host "Issue Warning Quota: $($mailbox.IssueWarningQuota)" Write-Host "Prohibit Send Quota: $($mailbox.ProhibitSendQuota)" Write-Host "Prohibit Send/Receive Quota: $($mailbox.ProhibitSendReceiveQuota)" Remove-PSSession $session } catch { Write-Host "Failed to retrieve mailbox limits. Error:" -ForegroundColor Red Write-Host $_ }