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 ]
Update: AAD Connect Network and Name Resolution Test
Update: This tool has a new shortlink: http://aka.ms/aadnetwork
Since the tool passed the 500 download mark a few weeks ago, I’ve started getting more questions (internal and external) about a few of the tests and checks. So, I decided to update/refine them to hopefully provide better guidance.… [ Continue reading ]
Report proxy addresses not in Accepted Domains
Like as the waves make towards the pebbled shore, so do our proxy addresses hasten to multiply.
At least, that’s how it seems. As is the organizational ebb and flow, business objectives change, new business units are spun up, old projects are turned down, and you may need to add or remove proxy addresses in your Exchange environment to account for that. … [ Continue reading ]
Send Authenticated SMTP with PowerShell
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 ]
Managing a corporate blog site with SharePoint Online and Office ProPlus
As I help organizations transition to think cloud-first, one of my goals is to help them get the most out of their Office 365 investment. In this post, we’ll talk about tackling a corporate blog.
SharePoint Online comes with a number of out-of-the-box templates, and the one that most closely maps to the blog requirement is … wait for it … the blog site template.… [ 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 ]
ATP: Safe Attachments, Safe Links, and Anti-Phishing Policies or “All the policies you can shake a stick at”
With the advent of scammers, spammers, phishers, and other types of baddies, and the complementary rise in anti-malware, anti-spam, domain and sender verification techniques, we’re in a perpetual cat-and-mouse game. I’ve had several customers over the past few weeks ask me about best practices for configuring some of the Advanced Threat Protection (ATP) features.… [ Continue reading ]
Connecting Splunk to Office 365 – Part 2: Microsoft Office 365 Reporting Add-On for Splunk
In Part 1 of this blog series, I went through the setup of the Splunk Add-On for Microsoft Cloud Services, which you can use to extract, query, and analyze data provided by the Office 365 Management Activity API. In this particular post, we’re going to explore the Microsoft Office 365 Reporting Add-On for Splunk, which you can use to review message trace data from Office 365.… [ Continue reading ]
Connecting Splunk to Office 365 – Part 1: Add-On for Microsoft Cloud Services
I’ve had a number of customers ask me about configuring their monitoring systems to Office 365. So, rather than repeating the same information and re-issuing the same links (most of which contain outdated information), I’m going to put together a series on how to connect a few systems to Office 365. … [ 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 ]
Using the Dictionary for Fun and Profit
In my previous post, I discussed using the new Attack Simulator for crafting phishing campaigns against your users. If you haven’t tried it out yet, I’d heartily recommend it. It’s more fun than a barrel of monkeys.
For this post, we’re going to shift into slightly more traditional attack strategies. … [ Continue reading ]
