Create Inbox Rules in PowerShell

Let’s say you want to create in Inbox Rule and you don’t want to (or can’t) use Outlook to do it. Who cares why, right? You just don’t. $ReasonsWhy = “Not Relevant” You can use the New-InboxRule to move, copy, delete, forward, classify…whatever…newly received messages, just like you can if you created the rule through Outlook’s wizard. You can’t do quite everything in PowerShell that can be done […]

Read Me Leave comment

Add a Prefix to Differentiate On-Prem from Cloud Exchange Cmdlets

If you use PowerShell to manage both on-prem and cloud Exchange resources, you can manage both in the same console by adding a prefix to the cmdlets of one or the other. It’s easier to add the prefix for Exchange Online cmdlets, so I’ll show you that. Simply copy and paste this code into the on-prem Exchange Management Shell to connect to Exchange Online and prefix the […]

Read Me Leave comment

Add and Remove Computers from Groups Using PowerShell

These two scripts will add and remove a domain-joined computer to and from, respectively, a domain group. It’s much quicker than typing out the whole cmdlet string each time you need it. Script One: Add a computer to a group. Usage: Add_ComputerToGroup <ComputerName> <GroupName> # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Filename : Add_ComputerToGroup.ps1 # Purpose : Adds a computer object to an Active Directory group. The group # […]

Read Me Leave comment

PowerShell to Add a Workstation to a User’s Log On To Property

It’s easy enough to use ADUC or ADAC to change the list of computers that a user account is authorized to logon to, but sometimes (like, whenever possible!) you need to use PowerShell. Let’s start by seeing what workstations the user is allowed to logon to now… PS C:\> Get-ADUser jay.test -Properties LogonWorkstations | Format-List Name, LogonWorkstations Name : Jay Test LogonWorkstations : testpc This tells […]

Read Me Leave comment

Faster Exchange Online Message Trace via PowerShell

If you submit a message trace with a custom date via the Exchange Online admin center, you’ll see this message: From there, it can take anywhere from a few minutes to a few hours for your search results to be ready. Or… You can pop over to PowerShell and, after connecting to Exchange Online, run your trace like this: Get-MessageTrace -StartDate 3/22/2017 -EndDate 4/3/2017 -RecipientAddress email@address.com […]

Read Me Leave comment

Search Filenames in PowerShell

If you want to find all files in a particular folder with “hello” in the name, you could use the search function built into Windows Explorer, but if you want to save the list for later, or to send via email, use PowerShell instead. This cmdlet will give you every file (that you have access to list) on the C:\ drive with “hello” in the […]

Read Me Leave comment

Get a Report of All Inactive Office 365 Mailbox Users

This PowerShell script will give you a report of all of your Office 365 mailbox users who haven’t logged in for any given number of days. Once you’ve saved the script to a .ps1 file on your workstation or server, you can run it with just the script name or you can include the number of days inactive as a command-line option. the command-line option is especially […]

Read Me Leave comment