Add Blocked Senders to Exchange Online Using PowerShell

Many things in Exchange and Office 365 take too long to do via the admin console, but are too obscure to do routinely via PowerShell. Unless, that is, you have a script! This function will add a single sender address to your spam policy’s BlockedSenders attribute or a sender domain to the BlockedSenderDomains attribute. (If you find any errors in the code below, let me […]

Read Me Leave comment

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 2 Comments

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

3 Steps to Get Control of Your Local Admin Account Passwords

A few years ago, Microsoft removed the ability to store passwords in Group Policy Objects using the cPassword method that Active Directory domain administrators had been using for over a decade because it was too easy to extract the password from the GPO files on the domain controller. LAPS provides a way to securely set and retrieve a random password for local administrator accounts on […]

Read Me Leave comment