Brad Wyatt
Blogs, Articles, and Posts
Automate Azure DevOps Work Item Updates with Azure Functions and the Azure DevOps API
(thelazyadministrator.com)
I use Azure DevOps Boards for agile project management, allowing me to plan, track, and discuss
By: Brad Wyatt submitted:Jun 21 2024
I use Azure DevOps Boards for agile project management, allowing me to plan, track, and discuss
automation and DevOps tasks. I also create reporting dashboards from the data within the work items. One such metric I report on is how much time we save when implementing a new automation.
By: Brad Wyatt submitted:Jun 21 2024
Automated Alerts on Azure (Entra ID) Application Secret Expirations
(thelazyadministrator.com)
Monitoring Azure AD (Entra ID now) application secret expirations in an enterprise is a critical
By: Brad Wyatt submitted:Jan 5 2024
Monitoring Azure AD (Entra ID now) application secret expirations in an enterprise is a critical
aspect of maintaining robust security and ensuring uninterrupted service. When application secrets expire without timely renewal, it can disrupt business operations by causing application failures. Proactive management of application secret expirations helps enterprises avoid last-minute issues, enabling a more secure and efficient operational environment.
By: Brad Wyatt submitted:Jan 5 2024
Automated Deployment of a Zero Trust Azure Automation Environment
(thelazyadministrator.com)
A common and recommended security practice is only allowing access to an Azure Storage Account via a
By: Brad Wyatt submitted:Jan 3 2025
A common and recommended security practice is only allowing access to an Azure Storage Account via a
whitelisted IP address. While this is generally a good idea, a problem arises when you need an Azure Automation Account to access one of these Storage Accounts.
By: Brad Wyatt submitted:Jan 3 2025
Centrally Manage Company Contacts and Deploy to Built-In Contacts App Using Intune, SharePoint, PowerShell and Graph API.
(thelazyadministrator.com)
I recently met with a company that was looking for a better way to get contacts to their employee's
By: Brad Wyatt submitted:Sep 22 2023
I recently met with a company that was looking for a better way to get contacts to their employee's
work phones. Currently, they are sending a .vcf file and then having the employees manually save the contacts. While this works, the problem is if you need to send a new contact, you now need to send a new .vcf file to every employee and instruct them on how to save it. Similarly, if you ever need to remove a contact, you need to instruct your employees to manually delete that contact.
By: Brad Wyatt submitted:Sep 22 2023
Connect to Exchange Online PowerShell with an Azure Managed Identity
(thelazyadministrator.com)
Recently the Exchange Online Module v2 came out with support for connecting to Exchange Online via a
By: Brad Wyatt submitted:Sep 16 2022
Recently the Exchange Online Module v2 came out with support for connecting to Exchange Online via a
managed identity. The module has several parameters:
By: Brad Wyatt submitted:Sep 16 2022
Creating a Microsoft 365 Automated Off-boarding Process with SharePoint, Graph API, and PowerShell
(thelazyadministrator.com)
In this write-up I will be creating a basic off-boarding automation that uses SharePoint as the
By: Brad Wyatt submitted:Sep 9 2022
In this write-up I will be creating a basic off-boarding automation that uses SharePoint as the
front end, and PowerShell, the Graph API, and Azure Runbooks as the back-end.
By: Brad Wyatt submitted:Sep 9 2022
From Standard User to Elevated Administrator
(thelazyadministrator.com)
Run Elevated PowerShell Commands with PowerShell Studio and Impersonation
By: Brad Wyatt submitted:Jun 16 2022
Run Elevated PowerShell Commands with PowerShell Studio and Impersonation
By: Brad Wyatt submitted:Jun 16 2022
Getting Started with GitHub Copilot in the CLI
(thelazyadministrator.com)
It was announced recently that GitHub Copilot in the CLI has reached General Availablity for all
By: Brad Wyatt submitted:Mar 29 2024
It was announced recently that GitHub Copilot in the CLI has reached General Availablity for all
Individual, Business, and Enterprise customers. In this post, I will show you how you can get download and install the CLI and Copilot extension, authenticate to use Copilot, and the available commands and use cases.
By: Brad Wyatt submitted:Mar 29 2024
Leveraging OpenAI to Enhance Pull Request Management in Azure DevOps
(thelazyadministrator.com)
Our goal is to create an automation that significantly enhances the efficiency of our development
By: Brad Wyatt submitted:Jun 28 2024
Our goal is to create an automation that significantly enhances the efficiency of our development
process. A service hook is triggered when a new Pull Request is created in Azure DevOps, sending a webhook to an Azure Function. This function analyzes the request body, gets all commits in the Pull Request, and sends it to Open AI's API, which generates a Pull Request message detailing all of the proposed changes from the commits and writes it back to the Azure DevOps Pull Request.
By: Brad Wyatt submitted:Jun 28 2024
Microsoft Graph API Endpoint Adds Last Successful Sign-In Date Time
(thelazyadministrator.com)
Previously, if you wanted to find a user's last successful sign-in to your Microsoft 365 tenant
By: Brad Wyatt submitted:Dec 15 2023
Previously, if you wanted to find a user's last successful sign-in to your Microsoft 365 tenant
using the Microsoft Graph REST API, you would have to iterate through Entra ID sign-in logs. With new recent additions to the Microsoft Graph API Beta Endpoint, you can now return the UTC value just by parsing the user details and properties. The Microsoft documentation regarding the signInActivity resource type can be found here.
By: Brad Wyatt submitted:Dec 15 2023
Migrate your Runbooks in Azure Automation to Managed Identities
(thelazyadministrator.com)
Microsoft has recently announced that on September 30th, 2021, Azure Automation RunAs accounts,
By: Brad Wyatt submitted:Mar 10 2023
Microsoft has recently announced that on September 30th, 2021, Azure Automation RunAs accounts,
including Classic Run As accounts, will be retired so you will need to migrate your runbooks to managed identities for authentication.
By: Brad Wyatt submitted:Mar 10 2023
Text your Azure Infrastructure with Serverless Computing and PowerShell
(thelazyadministrator.com)
Due to COVID-19 and social distancing, I have found myself camping a lot more than in previous
By: Brad Wyatt submitted:Jun 16 2022
Due to COVID-19 and social distancing, I have found myself camping a lot more than in previous
years. One problem that has brought with it is the high probability of being somewhere with no cell phone data service or poor cell phone data. Couple with my incredibly poor memory, I have often forgotten to turn off servers to save on cost in my dev or test environment until I'm out in the woods. Also, I wanted the ability to use Google Voice as well as Siri in my car or even at home, to turn off, turn on, or check the status of my servers in my Azure tenants. This has even come in handy when I didn't have my phone on me and had to use the wife's phone to turn on or off some servers in my tenant. (I set it to only accept messages from my phone number as well as my wife's so if someone happened to figure out the phone number, they couldn't give any commands anyways - we will get into this later).
By: Brad Wyatt submitted:Jun 16 2022
Upload a file to Connectwise and Attach it to a Service Ticket with PowerShell
(thelazyadministrator.com)
I have recently been automating a lot within Connectwise PSA. One of the items I set out to do is to
By: Brad Wyatt submitted:May 10 2024
I have recently been automating a lot within Connectwise PSA. One of the items I set out to do is to
upload a file and attach it to a service ticket. This led me to the following article, but after doing some testing, I found that some file types were not properly rendering on the Connectwise side, making me believe there was something wrong with the encoding.
By: Brad Wyatt submitted:May 10 2024
View and Export your Intune Device Management Scripts Using the Microsoft Graph PowerShell SDK
(thelazyadministrator.com)
Introduction
By: Brad Wyatt submitted:Mar 22 2024
Introduction
By: Brad Wyatt submitted:Mar 22 2024
Projects, Scripts, and Modules
Easily Enable End Users to Manage Active Directory Users with PowerShell GUI
(thelazyadministrator.com)
Recently I got a request to find a way to let managers or Human Resources the ability to modify
By: Brad Wyatt submitted:Jun 16 2022
Recently I got a request to find a way to let managers or Human Resources the ability to modify
basic user attributes in Active Directory. Like anyone else, I presented the idea of using RSAT to let them modify users in ADUC or ADAC. This was not an ideal solution because ADUC can become overwhelming to someone that isn't technical. They wanted something that was extremely basic, easy to follow and work in without any guidance or instructions, and did not show the user anything else that they could not modify or needed to see.
By: Brad Wyatt submitted:Jun 16 2022
Fun
Get Early Voting Locations, Drop Off Ballot Sites, and Election Polling Places with PowerShell
(thelazyadministrator.com)
The 2020 Election is happening on November 3rd, and many people have been lining up to vote early
By: Brad Wyatt submitted:Jun 16 2022
The 2020 Election is happening on November 3rd, and many people have been lining up to vote early
due to COVID-19. Now using PowerShell, you can get your registered polling places based on your address, all early voting locations around you, and drop off ballot locations. All of the information is retrieved using Google's Civic Information API.
By: Brad Wyatt submitted:Jun 16 2022
Play Wordle, the Puzzle Game Using PowerShell
(thelazyadministrator.com)
I recently came across a NYTimes article talking about a new game called, 'Wordle.' If you are not
By: Brad Wyatt submitted:Jun 16 2022
I recently came across a NYTimes article talking about a new game called, 'Wordle.' If you are not
familiar with the game, its a text-based game where you have 6 tries to guess the word. Letters in a Gray box are not letters found in the word. Letters in a Yellow box are found in the word, but are in the incorrect spot. And finally, letters in a Green box are in the word and in the correct location.
By: Brad Wyatt submitted:Jun 16 2022