Configuration

I was shocked to discover that I hadn’t updated the OneDrive for Business Admin Tool since January.  Shocked that I hadn’t had any good ideas for it. Shocked, I tell you.

And then, a requirement presented itself for a tenant-to-tenant migration: how big are all of the OneDrive sites?[ Continue reading ]

Configuration

It’s Two-fer Friday.  I don’t know if it was a thing, but it is now.

Based on received feedback, I have updated the AAD Connect Advanced Permissions tool to check for the Active Directory schema version in addition to the Exchange schema. … [ Continue reading ]

Configuration

## Fixing Office 365 Anonymous Group Write-back and External Delivery

Yes, Hell has frozen over. The cows have come home. The lady of size has sung.

I have come up with a “best case” solution for the Office 365 hybrid group write-back problem.

# Background

For the long(er) background, you’ll probably want to go see this post.… [ Continue reading ]

Configuration

## Forwarding Address Import and Export

Four score and many moons ago, I was working on one of my first projects in Microsoft Consulting Services.  This particular customer (a university) shared their Active Directory infrastructure with a hospital.  During the course of their business, employees would frequently move between organizations. … [ Continue reading ]

Identity

## Update to the Remove-ExchangeProxyAddresses script

Today, I received an email from a customer that one of the scripts I had in the gallery wasn’t working correctly.  Yes, I know it’s hard to believe, but I made an update and didn’t regression test completely, and then something stopped working.… [ Continue reading ]

Configuration

## Looky, looky! Custom sensitive information types with even more customitivity!

So, of course, as soon as I finish up posting a few entries (here and here), we go and release a new UI to help you get it done on your own!

You can do most of the effort of creating a data classification here, although if you want to use any of our built in functions (such as credit card Luhn check), you’ll need to export/modify/import, use the sensitive information type package that I created (referenced earlier) or use one of our native DLP classifications.… [ Continue reading ]

Configuration

Woo! A day of updates!  I’ve made  a few updates to this tool, so hopefully you’ll find them useful:

2018-08-12: A reader noticed that the UpdateAdminSDHolder switch didn’t work ask expected when specifying the ExchangeHybridWriteBack OU without the ExchangeHybridWriteBackOUs parameter. … [ Continue reading ]

Configuration

## Searching for Sensitive Information Types

Over the course of your Office 365 administration duties, you may be called to locate data matching particular data patterns (such as matching a particular regular expression or a Sensitive Information Type), either for eDiscovery or data classification purposes. … [ Continue reading ]

Configuration

## Sensitive Information Types–now with more sensitivity!

UPDATE: The TechNet Gallery link for this post has been updated.

So, this is an entry that has been long in the making.  I have had several customers over the last few years give feedback about our Data Loss Prevention’s (DLP) matching requirements, mostly around how they require too much corroborating evidence (in the form of patterns or keywords) to meet their organization’s very restrictive policies.… [ Continue reading ]

Information

## Creating a function or script with PowerShell Dynamic Parameters

This week, while contributing code to a collaborative project, I wanted to up my game.  A lot of my tools over the years have used parameters and validation, but one of the more elusive things is creating parameters that have parameter validation criteria set at run-time. … [ Continue reading ]

Configuration

## Update: AAD Connect Network Test Tool

Update (7/24): I updated this since the last revision, so if you downloaded it prior to 7/24/2018, get the newest version.

I began working with the product group on rolling in some of the network connectivity and testing checks available in the AAD Connect Network Test tool into the actual AAD Connect product. … [ Continue reading ]

Configuration

## Update: AAD Connect Network Test Tool

I trotted out the trusty WireShark and Fiddler tools today and ran through the latest iteration of AAD Connect setup.  In so doing, I’ve added a few endpoints to the test:

$CRL http://ocsp.msocsp.com$RequiredResources

$RequiredResourcesEndpoints https://adminwebservice-s1-co2.microsoftonline.com/provisioningwebservice.svc As always, the newest version is available at http://aka.ms/aadnetwork.… [ Continue reading ] Information ## Testing a variable with the value of zero Tonight, while working on my previous script, I ran into an interesting problem when testing the presence of a value. Consider this: PS C:\> [int]$IntValue0 = 0
PS C:\> [int]$IntValue1 = 1 PS C:\> [string]$StringValue0 = "0"
PS C:\> [string]$StringValue1 = "1" PS C:\>$IntValue0
0
PS C:\> $IntValue1 1 PS C:\> If ($IntValue0) { "exists" }
PS C:\> If ($IntValue1) { "exists" } exists PS C:\> if ($StringValue0) { "exists" }
exists
PS C:\> if ($StringValue1) { "exists" } exists PS C:\> if ($IntValue0 -eq $null) { "null" } PS C:\> if ($IntValue0 -lt 1) {"less than 1" }
less than 1
PS C:\> $IntValue0.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType My short lesson: when setting an integer value to 0, you can’t test for it using If ($Value), as that will return false. … [ Continue reading ]

Configuration

## PowerShell Null Routing Function

This week, while troubleshooting a networking problem for a customer, I wanted to limit or block network connectivity to some remote endpoints from a test workstation.  To accomplish this, I created a quick PowerShell function to null route the traffic (send it to an invalid/null next hop).… [ Continue reading ]

Information

## Update: Dynamics 365 Testing Tool

Earlier today, I was notified that the Dynamics 365 network URLs page was updated, so I updated my Dynamics test tool.

But then, I thought, what else could I put in it?

Never one to leave well enough alone, I started tinkering. … [ Continue reading ]

Personal

## Update: Create-LabUsers Tool

Just when you thought it couldn’t get more awesome.

It has.

By popular request, I have added a few new features (and fixed an annoyance).  First, the bug fix:

# -Count 1

Yes, it’s true. If you ran the Create-LabUsers script with -Count 1 with the -InflateMailboxes parameter, you’d run into an issue because of how I calculated the \$MaxRecipients value. … [ Continue reading ]