31May2024
23Sep2020
Deploying Conditional Access Policies via PowerShell
There is a new GitHub repository available from Microsoft: Manage Conditional Access policies like code. Similar to the infamous Intune samples repo from which I and many others have built their automated Intune setup scripts for new tenants,...
06Aug2019
Updated: Exchange Online baseline / best practices scripts
I recently updated the scripts that I use to provision new Exchange Online tenants and configure them according to best practices, and I just uploaded these edits to GitHub. The main script is Baseline-ExchangeOnline.ps1--this is like a "master" script...
10Sep2018
How to quickly provision Microsoft 365 Business subscriptions for Exchange Online and ATP using PowerShell
Hey folks, Microsoft 365 Business is a really cool subscription for small businesses, and if you are doing these configurations for a lot of tenants, then you're probably going to want to automate some of the setup. Today I'm going to share a script I use to...
21Dec2017
How to bulk create users in a hybrid environment with Office 365 Exchange Online
In a hybrid Exchange environment, user accounts are created on-premises, but then licensed through the Office 365 portal (to enable mailbox access). Admins often provision hybrid user accounts incorrectly, and sometimes this needs to be cleaned up after the fact. But, if you want to do it right the first...
02Jun2016
Automate the deployment of guest virtual machines with PowerShell
Small businesses often bemoan the cost and complexity of implementing System Center. But who needs System Center when you've already got PowerShell?! In the previous post, I shared a series of snippets / scripts that I use to quickly configure a standalone Hyper-V host, including host name & timezone,...
30May2016
Automate the deployment of a standalone Hyper-V host server using PowerShell
In this article, I wanted to document a standard, standalone Hyper-V server deployment for a small business using nothing but PowerShell. The best practices for Hyper-V state that the role should be enabled on a server without the GUI (e.g. Core or Nano--although I rarely see this done in a small business setting). Best...
12May2016
Scripting with ISE: Adding new LUN’s, part 2
When we left off last time, we had a small script that: Put an offline disk (disk #1) online Initialized the disk Created a new partition on that disk Formatted a new volume from that partition The script looked something like this: But that's a pretty poor script, because it only runs...
09May2016
Scripting with ISE: Adding New LUNs, part 1
In this series, we are getting familiar with Windows PowerShell ISE. My hope is that thru working in this application, more IT professionals will come to view PowerShell as a truly accessible (and indispensable) tool. Remember that the point of technology should include making your job easier--to allow you to leverage...
05May2016