From 87245ab6d43db1dc538615deecdd5e7aecffa0d8 Mon Sep 17 00:00:00 2001 From: AdminDroid <49208841+admindroid-community@users.noreply.github.com> Date: Fri, 6 Oct 2023 17:44:20 +0530 Subject: [PATCH] Delete MailboxSizeReport.ps1 --- Mailbox Size Report/MailboxSizeReport.ps1 | 180 ---------------------- 1 file changed, 180 deletions(-) delete mode 100644 Mailbox Size Report/MailboxSizeReport.ps1 diff --git a/Mailbox Size Report/MailboxSizeReport.ps1 b/Mailbox Size Report/MailboxSizeReport.ps1 deleted file mode 100644 index f0ac3ea..0000000 --- a/Mailbox Size Report/MailboxSizeReport.ps1 +++ /dev/null @@ -1,180 +0,0 @@ -<# -============================================================================================= -Name: Microsoft 365 Mailbox Size Report -Description: This script exports Microsoft 365 mailbox size report to CSV -Version: 2.0 -website: o365reports.com -Script by: O365Reports Team -For detailed Script execution: https://o365reports.com/2020/10/21/export-office-365-mailbox-size-report-using-powershell/ -============================================================================================ -#> -Param -( - [Parameter(Mandatory = $false)] - [switch]$MFA, - [switch]$SharedMBOnly, - [switch]$UserMBOnly, - [string]$MBNamesFile, - [string]$UserName, - [string]$Password -) - -Function Get_MailboxSize -{ - $Stats=Get-MailboxStatistics -Identity $UPN - $ItemCount=$Stats.ItemCount - $TotalItemSize=$Stats.TotalItemSize - $TotalItemSizeinBytes= $TotalItemSize –replace “(.*\()|,| [a-z]*\)”, “” - $TotalSize=$stats.TotalItemSize.value -replace "\(.*","" - $DeletedItemCount=$Stats.DeletedItemCount - $TotalDeletedItemSize=$Stats.TotalDeletedItemSize - - #Export result to csv - $Result=@{'Display Name'=$DisplayName;'User Principal Name'=$upn;'Mailbox Type'=$MailboxType;'Primary SMTP Address'=$PrimarySMTPAddress;'Archive Status'=$Archivestatus;'Item Count'=$ItemCount;'Total Size'=$TotalSize;'Total Size (Bytes)'=$TotalItemSizeinBytes;'Deleted Item Count'=$DeletedItemCount;'Deleted Item Size'=$TotalDeletedItemSize;'Issue Warning Quota'=$IssueWarningQuota;'Prohibit Send Quota'=$ProhibitSendQuota;'Prohibit send Receive Quota'=$ProhibitSendReceiveQuota} - $Results= New-Object PSObject -Property $Result - $Results | Select-Object 'Display Name','User Principal Name','Mailbox Type','Primary SMTP Address','Item Count','Total Size','Total Size (Bytes)','Archive Status','Deleted Item Count','Deleted Item Size','Issue Warning Quota','Prohibit Send Quota','Prohibit Send Receive Quota' | Export-Csv -Path $ExportCSV -Notype -Append -} - -Function main() -{ - #Check for EXO v2 module inatallation - $Module = Get-Module ExchangeOnlineManagement -ListAvailable - if($Module.count -eq 0) - { - Write-Host Exchange Online PowerShell V2 module is not available -ForegroundColor yellow - $Confirm= Read-Host Are you sure you want to install module? [Y] Yes [N] No - if($Confirm -match "[yY]") - { - Write-host "Installing Exchange Online PowerShell module" - Install-Module ExchangeOnlineManagement -Repository PSGallery -AllowClobber -Force - } - else - { - Write-Host EXO V2 module is required to connect Exchange Online.Please install module using Install-Module ExchangeOnlineManagement cmdlet. - Exit - } - } - - #Connect Exchange Online with MFA - if($MFA.IsPresent) - { - Connect-ExchangeOnline - } - - #Authentication using non-MFA - else - { - #Storing credential in script for scheduling purpose/ Passing credential as parameter - if(($UserName -ne "") -and ($Password -ne "")) - { - $SecuredPassword = ConvertTo-SecureString -AsPlainText $Password -Force - $Credential = New-Object System.Management.Automation.PSCredential $UserName,$SecuredPassword - } - else - { - $Credential=Get-Credential -Credential $null - } - Connect-ExchangeOnline -Credential $Credential - } - - #Output file declaration - $ExportCSV=".\MailboxSizeReport_$((Get-Date -format yyyy-MMM-dd-ddd` hh-mm` tt).ToString()).csv" - - $Result="" - $Results=@() - $MBCount=0 - $PrintedMBCount=0 - Write-Host Generating mailbox size report... - - #Check for input file - if([string]$MBNamesFile -ne "") - { - #We have an input file, read it into memory - $Mailboxes=@() - $Mailboxes=Import-Csv -Header "MBIdentity" $MBNamesFile - foreach($item in $Mailboxes) - { - $MBDetails=Get-Mailbox -Identity $item.MBIdentity - $UPN=$MBDetails.UserPrincipalName - $MailboxType=$MBDetails.RecipientTypeDetails - $DisplayName=$MBDetails.DisplayName - $PrimarySMTPAddress=$MBDetails.PrimarySMTPAddress - $IssueWarningQuota=$MBDetails.IssueWarningQuota -replace "\(.*","" - $ProhibitSendQuota=$MBDetails.ProhibitSendQuota -replace "\(.*","" - $ProhibitSendReceiveQuota=$MBDetails.ProhibitSendReceiveQuota -replace "\(.*","" - #Check for archive enabled mailbox - if(($MBDetails.ArchiveDatabase -eq $null) -and ($MBDetails.ArchiveDatabaseGuid -eq $MBDetails.ArchiveGuid)) - { - $ArchiveStatus = "Disabled" - } - else - { - $ArchiveStatus= "Active" - } - $MBCount++ - Write-Progress -Activity "`n Processed mailbox count: $MBCount "`n" Currently Processing: $DisplayName" - Get_MailboxSize - $PrintedMBCount++ - } - } - - #Get all mailboxes from Office 365 - else - { - Get-Mailbox -ResultSize Unlimited | foreach { - $UPN=$_.UserPrincipalName - $Mailboxtype=$_.RecipientTypeDetails - $DisplayName=$_.DisplayName - $PrimarySMTPAddress=$_.PrimarySMTPAddress - $IssueWarningQuota=$_.IssueWarningQuota -replace "\(.*","" - $ProhibitSendQuota=$_.ProhibitSendQuota -replace "\(.*","" - $ProhibitSendReceiveQuota=$_.ProhibitSendReceiveQuota -replace "\(.*","" - $MBCount++ - Write-Progress -Activity "`n Processed mailbox count: $MBCount "`n" Currently Processing: $DisplayName" - if($SharedMBOnly.IsPresent -and ($Mailboxtype -ne "SharedMailbox")) - { - return - } - if($UserMBOnly.IsPresent -and ($MailboxType -ne "UserMailbox")) - { - return - } - #Check for archive enabled mailbox - if(($_.ArchiveDatabase -eq $null) -and ($_.ArchiveDatabaseGuid -eq $_.ArchiveGuid)) - { - $ArchiveStatus = "Disabled" - } - else - { - $ArchiveStatus= "Active" - } - Get_MailboxSize - $PrintedMBCount++ - } - } - - #Open output file after execution - If($PrintedMBCount -eq 0) - { - Write-Host No mailbox found - } - else - { - Write-Host `nThe output file contains $PrintedMBCount mailboxes. - if((Test-Path -Path $ExportCSV) -eq "True") - { - Write-Host `nThe Output file available in $ExportCSV -ForegroundColor Green - $Prompt = New-Object -ComObject wscript.shell - $UserInput = $Prompt.popup("Do you want to open output file?",` - 0,"Open Output File",4) - If ($UserInput -eq 6) - { - Invoke-Item "$ExportCSV" - } - } - } - #Disconnect Exchange Online session - Disconnect-ExchangeOnline -Confirm:$false | Out-Null -} - . main -