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 object 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…

1

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. In order to respond to regionally sourced threats, my customer wanted to carry over…

2

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…

0

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.  As I…

2

Disable Skype SKUs across all users

This week, I was presented with a question from a partner who was in the middle of the Skype for Business portion of a larger merger and acquisition migration project. The customer had enabled the Skype for Business license for all users in the tenant (including users who hadn’t migrated for other domains and forests),…

0

Copy Get-History to Clipboard

I’ve been working on a little project, and the need to retrieve the last n number of commands I’ve executed in PowerShell has become a tedious task.  As you’re (hopefully) aware, Get-History is a great cmdlet to review exactly how you got to where you are.  You can then combine that with the Clip cmdlet…

4

Disable Office 365 Groups Creation: Redux

Several months ago, I wrote a blog on Disabling Office 365 Groups.  It seems as though we couldn’t leave well enough alone.  Such is a price of progress. I got a new laptop a few weeks ago, and then found myself in the position of helping out a few colleagues this week.  One of the tasks…

21

Troubleshooting Mailbox Migration Error “You can’t use the domain because it’s not an accepted domain for your organization.”

While migrating users via MRS between organizations (especially to Exchange Online), a pretty common error that I run across is: You can’t use the domain because it’s not an accepted domain for your organization. This error is generated because the MailUser object of the user you’re attempting to migrate has a proxy address attached to…

12

Removing Proxy Addresses from Exchange Recipients

I saw a request come through the other day for a method to remove unwanted proxy addresses for contacts.  I’d had some code sitting around from a project a few years back and decided to freshen it up, and maybe add some newer tricks. So, the original idea was to select a bunch of users…

8

Migrating EOP Settings Between Tenants

I find myself currently writing tools to both support my and other organization projects, as well as looking for ways to refine existing tools and scripts, make my life easier for future migrations, and provide additional resources to the community to help other customers more successfully use our products. Today’s tool fulfills all of those…

0