Blog

Blog

Technical articles, tutorials, and insights on PowerShell, .NET, Active Directory, and enterprise IT automation.

Tag
Category

Type to search across all blog posts.

PowerShell – Working with Format-Table in Verbose, Debug, Output Streams

blog

PowerShell – Working with Format-Table in Verbose, Debug, Output Streams

As you may know, PowerShell has multiple streams. Write-Output, Write-Error, Write-Warning, Write-Verbose, Write-Debug, and Write-Information. It also has Write-Host whi…

powershellwrite-debugwrite-hostwrite-verbose
PowerShell – Single PSM1 file versus multi-file modules

blog

PowerShell – Single PSM1 file versus multi-file modules

Compare single-file and multi-file PowerShell module layouts, including the import-time tradeoffs that show up when modules grow large.

powershellps1psm1
Microsoft Exchange – 420 4.2.0 Recipient deferred because there is no Mdb

blog

Microsoft Exchange – 420 4.2.0 Recipient deferred because there is no Mdb

Last few weeks I’m responsible for migrating from Office 365 to Office 365. Part of this migration process is to set up new Exchange 2016 server that will work as relay…

exchangeexchange onlineoffice 365
Bittitan MigrationWiz – Users getting undergoing maintenance message

blog

Bittitan MigrationWiz – Users getting undergoing maintenance message

Fix BitTitan MigrationWiz users stuck with an 'undergoing maintenance' message during Office 365 tenant-to-tenant migrations.

bittitainmigrationwizoffice 365
Azure AD Connect – Synchronizing MAIL field with UserPrincipalName in Azure

blog

Azure AD Connect – Synchronizing MAIL field with UserPrincipalName in Azure

Azure AD Connect is an application responsible for synchronizing Active Directory with Azure AD allowing for a natural population of users, groups, and devices in Office…

active directoryazureazure adoffice 365
PSBlackListChecker – Added Discord support

blog

PSBlackListChecker – Added Discord support

It’s been less than 24 hours since I’ve released PSBlackListChecker with support, among other improvements, for Microsoft Teams and Slack and I’m now adding Discord to t…

discordpowershellpsblacklistcheckerwindows
PowerShell – Environment Path is missing or overwritten

blog

PowerShell – Environment Path is missing or overwritten

If PSModulePath is suddenly missing default module locations, PowerShell can stop discovering built-in or installed modules even though nothing seems broken at first gla…

autoitenvironmentparameterspowershellpsmodulepathvariables
PSBlackListChecker – Notifications to Microsoft Teams, Slack of Blacklisted IPs

blog

PSBlackListChecker – Notifications to Microsoft Teams, Slack of Blacklisted IPs

If this is the first time you’re reading about this module, it’s simple PowerShell module that allows you to verify…

blacklistblacklist ipexchangeipnet.dnspowershell
Office 365 – Using dynamic variable as prefix for Office 365 commands

blog

Office 365 – Using dynamic variable as prefix for Office 365 commands

One of the nice features of an Import-PSSession is Prefix parameter. If you have never used one let me try to…

office 365powershellprefix
Office 365 – Using Import-PSSession from separate module

blog

Office 365 – Using Import-PSSession from separate module

Import-PSSession inside a module can surprise you because the imported commands may stay scoped to that module unless you deliberately import them into the global sessio…

import-pssessionoffice 365powershell