While working on my last mini-series, I utilized my Create-LabUsers tool to automate the creation of a few thousand objects. When I was synchronizing my AD users to another directory, I noticed that I didn’t have mailNickname populated and had to add a quick script to fill that value in. … [ Continue reading ]
Determining your Office 365 Tenant Location
Update: This post has been updated with information from the newer Get-MgSubscribedSKU cmdlets.
Background
During a conversation with my peers, the discussion came up on how to determine what environment a tenant is located in (usually between Commercial and Government). … [ Continue reading ]
Splatbuilder Wrapper
This week, I was working on a project that spawned a lot of ideas for posts. The project involves creating a wrapper for a number of cmdlets and being able to pass any / all of the parameters to the actual cmdlet being performed. … [ Continue reading ]
Update: OneDrive for Business Admin Tool
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 ]
Update: AAD Connect Network Test Tool
Just a quick note: I’ve updated the AAD Connect Network Test Tool to now query Windows Product Edition data to provide a little more system configuration prerequisite testing information, based on the OperatingSystemSKU data listed at https://docs.microsoft.com/en-us/windows/desktop/CIMWin32Prov/win32-operatingsystem.… [ Continue reading ]
We’re moving!
After 4 glorious years of TechNet blogging, I am moving. The TN blog system is changing, and I’m striking out on my own.
My blog is all growed up. You can go see any of your favorite posts at the new site: https://bhr.62e.myftpupload.com.… [ Continue reading ]
Creating Scoped DLP rules with Custom Sensitive Information Types
A few weeks ago, I put out a series of posts on creating and using custom sensitive information types (https://bhr.62e.myftpupload.com/tag/sensitive-information-types/). The blog, posts, however, focus on using the DLP configuration options available in the Security & Compliance Center.
Rules created via the DLP wizard in the Security & Compliance Center have the benefit of being able to be applied globally across your organization and its content sources. … [ Continue reading ]
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 ]
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. The good news is you can actually do that. … [ Continue reading ]
Sensitive Information Types–now with more sensitivity!
UPDATE: The file 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 ]
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 ]
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 ]
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()… [ Continue reading ] 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 ]
How to find Stale(ish) Azure B2B Guest Accounts
If you are utilizing external, guest, or B2B users in your Office 365 or Azure environments, you may need a way to determine which objects haven’t been logged in or used in a while. Azure AD doesn’t provide an easy way to view this information (really only having the refresh token time available). … [ Continue reading ]
