Today, while I was testing out some transport rules, I wanted to send a bunch of test messages to make sure they were firing correctly. I wanted to create some custom messages and be able to automate them, and I wanted to use an outside relay service that requires SMTP authentication.… [ Continue reading ]
Update to the Get-UserHoldPolicies tool
While working with a customer last week, it came to my attention that the Get-UserHoldPolicies script I had put together to enumerate retention policies and eDiscovery cases that put a hold on content wasn’t displaying policies that were global. The types of policies I checked for were enumerated in a user’s InPlaceHolds mailbox property, but apparently, that field is populated only if a Security & Compliance retention policy explicitly specifies the mailbox.… [ Continue reading ]
Trapping your favorite exceptions
Like most folks, I hate errors.
As a scripter, I hate seeing blood on the screen–to me, it means failure that I didn’t anticipate. When you’re trying to put tools out there for other folks to use, nothing toasts your peer’s or customer’s confidence like a tool that doesn’t fix itself or errors out without explanation.… [ Continue reading ]
Create realistic lab users
Update: I’ve added a shortlink for this tool: http://aka.ms/createlabusers.
In testing out some of my other tools over the last few weeks, I’ve found it necessary to create a some test users. A lot of test users. Not a normal “a lot,” either. … [ Continue reading ]
Update to the “Migrate EOP Settings” Tool
A little over a year and a half ago, I started working on a tool for a really large Office 365 / BPOS-Dedicated migration to Office 365 Government Community Cloud. As part of that migration, I wrote this tool: Migrating EOP Settings Between Tenants. … [ Continue reading ]
Update to the “Find Duplicate Address” tool
Last week, I saw some internal discussion about trying to locate the source of a duplicate object error on-premises. While an advanced administrator will be able to figure it out by looking at the Connector Spaces for connected directories, it’s not necessarily obvious to a lot of people (especially if you’re not experienced with our identity management products).… [ Continue reading ]
Using “Restore-RecoverableItems”, or “how I saved my own bacon”
Since the dawn of time (or at least, since the dawn of the Epoch), people have been inadvertently deleting stuff. As is attributed to Uncle Ben, “with great power comes great responsibility,” and so it is true with the system administrator. … [ Continue reading ]
Updated Tool Roundup!
Over the last couple of days, I’ve updated a few tools that I have published on the gallery. Here’s the run-down:
AAD Connect Network and Name Resolution Test
I’ve been busy with this tool a lot lately, both adding tests and tweaking the way things are done. … [ Continue reading ]
Update to the AAD Connect Advanced Permissions Tool
A few users reported bugs with logging that I have updated. There was also an unreported bug when searching the XML generated by Get-ADSyncServerConfiguration for the connector’s AD user, which I have also resolved.
You can get the updated tool at https://aka.ms/aadpermissions… [ Continue reading ]
Update to the AAD Connect Network and Name Resolution Test Tool
A few months ago, I debuted a new tool for AAD Connect deployment (read about it here: AAD Connect Network and Name Resolution Test or download it here: https://gallery.technet.microsoft.com/Azure-AD-Connect-Network-150c20a3) which allows you to test a number of conditions to make sure your server and environment are suitable for deploying AAD Connect.… [ Continue reading ]
Export Exchange Online Client Access Report
So, imagine this:
The security team comes to you and asks you for a report on how people are accessing Exchange Online services–browser, mobile, Outlook client. In the olden days of Exchange on-premises, you could look at the IIS logs to check browser traffic. … [ Continue reading ]
Create an array object with columns from text inside a script or Convert a Here-String to an array with column headings
So, I had an interesting need the other day when creating another script–I wanted to create a collection of objects that were of the same type, but had different values for the properties. In this case, the objects happened to be registry keys and values that was going to report on, and (optionally) take a series of actions on. … [ Continue reading ]
Implementing Geo-filtering with IIS
This week, I had an interesting issue to resolve–one of my customers previously hosting their architecture on-premises was utilizing geo-filtering services provided by their ISP. These geofiltering services were provided at the network layer, so filtered requests never reached the environment.… [ Continue reading ]
Update to the AAD Connect Advanced Permissions tool
Two updates for the tool in a week? Yes! It is so!
At the behest of my good friend Darryl and one of his customer’s needs, I have updated the the AAD Connect Advanced Permissions tool with the following:
- Allow the underscore (“_”) character to be used in an OU name path
- Allow CN= to be used as part of the OU filter name path, since some organizations may want to try to scope permissions specifically to CN=Users.
Yet Another Write-Log Function
While updating a script earlier this week, I wanted to spruce up my logging. However, I didn’t have a handy function to incorporate that would allow me to both write to the screen (in various colors for the type of log entry being generated) and to a log file at the same time. … [ Continue reading ]
