Script to get mailbox size and number of items info for all users or a single one

This script has two parts in it and depending on the selection it will either run it against a single specified mailbox or all of them at once. Note, running this script against a few hundred mailboxes takes several minutes. So if your company is large with thousands of mailboxes, expect it to take much longer. As part of the output it lists the following parameters - a user name, number of items in the mailbox, its current size, and a maximum allowed size. There is a downside of using this script when running it against all mailboxes. Because Get-MailboxStatistics outputs TotalItemSize as a string only, it makes it harder to search through and sort by. I wish Microsoft could change that and provide data in a number type format. $answer = Read-Host "Would you like to get statistics for all users ( y / n )?" While ("y","n" -notcontains $answer)…

Continue Reading

Script to turn a Shared Mailbox into an automated calendar only or a combination of both

The purpose of this PowerShell script is to adjust an existing Shared Mailbox to auto-accept calendar invitations and either keep emails or automatically remove them. Why would you do that as an admin? Well, there are 2 scenarios for it, and the choice really depends on the department / team in your company and their needs: 1) Its only purpose is a Calendar (e.g. team calendar for vacations) 2) Its purpose is a combination of a Calendar and a Mailbox (e.g. Help Desk mailbox and team calendar for vacations combined rather than two entities separately). Regardless, the way it works for users - they invite that calendar as a participant when creating vacation bookings. Thus, those bookings will be visible in both a personal calendar and a team calendar. What this script does: Turns on auto-processing; Allows conflict creation; Either deletes emails or keeps them depending on a scenario from…

Continue Reading

Script to show my computer name and IP address

If you need to know the name of the computer of a user or the IP address, then this tiny PowerShell script can become handy. For example, that information might be required for remote assistance software. There are some tools out there that show this info, e.g. BgInfo, but they don't always work. Moreover, some users insist on seeing an unobstructed photo of their puppy they just got from a shelter. That's a big one! 1) Create a PowerShell script file with this content: Add-Type -AssemblyName System.Windows.Forms $ip=get-WmiObject Win32_NetworkAdapterConfiguration|Where {$_.Ipaddress.length -gt 1} $ipaddress = $ip.ipaddress[0] $pcname = [System.Net.Dns]::GetHostName() [System.Windows.Forms.MessageBox]::Show("My PC name - $pcname `n`nMy IP address - $ipaddress",'About my PC','OK','Information') This script is a modified combination of scripts out there that other people made, so by no means I'm trying to take any credits for it. 2) Put this script to a network location that every user has Read access to.…

Continue Reading

List all mail folders for a specified user to easily locate a missing folder

If you have ever seen these user requests, then this simple PowerShell script is for you: I've dragged my mail folder and now I cannot find it anymore; I've clicked on something, and now the folder is gone; I haven't done anything, but that folder was here yesterday. These types of requests are not an issue if you are dealing with a user who has several folders in addition to the standard ones. However, it's not that uncommon for a user to have a hundred of them or even more. This is when manually searching for a lost folder turns into something big. What this PowerShell script does, it shows all mailbox folders for a specified user and the path each one of those folders has. The result is shown in a Grid View that allows you to sort and search/filter. So simply search for a name your user told…

Continue Reading

List all Corporate Contacts and Distribution Lists they belong to

There are times when your company needs to keep a list of Corporate Contacts that are used by your own users on a daily basis. You can find them in Microsoft 365 Admin Center - Users - Contacts or Exchange Admin Center - Recipients - Contacts. It gets more complicated when those contacts are added to several Distribution Lists, more so when they are mixed with your users. The issue is that unlike working with Internal Users, you cannot open a contact and see which groups it belongs to. This is where PowerShell comes handy. The script below finds every single contact and all groups it belongs to (if any). To show the result I use a Grid View (Out-GridView) because it provides an easy column sorting and filtering. This script might help to find a user error if some contact should or should not be in a group. Side…

Continue Reading
  • 1
  • 2
Close Menu