When creating dbatools commands, most of us use case-insensitive collation because that's the default and what we use in our labs. So creating commands that call T-SQL always works on our machines, but then we'll get an issue requesting that we fix a command to work on someone's case-sensitive SQL Server. With …
Read MoreTL;DR: ChatGPT Pro ($20/month) gives you access to GPT-5 via Codex CLI which is perfect for automating blog updates. I used it on this very blog and was able to update about 50 blog posts before I hit the rate limit. After the rate limit is hit, I have to wait for up to 4 hours then start again. Skip the recommended …
Read MoreTL;DR: I used Claude Code CLI to batch-update 100+ dbatools blog posts from 2016-2025. It fixed broken links, converted old PowerShell screenshots to text, updated deprecated commands, and even found new websites for people mentioned in old posts. 1Get-ChildItem *.md | Invoke-AITool -Prompt .\blog-refresh.md The AI …
Read MoreTL;DR: Use GitHub Copilot CLI to batch-update old blog posts—fix broken links, modernize code examples, convert screenshots to text. 1Get-ChildItem *.md | Invoke-AITool -Prompt .\blog-refresh.md Write a prompt doc with your rules, run the command, review the diffs, commit what works. Yesterday I wrote about updating …
Read MoreI just rebuilt dbatools.io in a day. The new site is developer-focused, modern, and actually useful. And I did it all with Claude Haiku, which until recently was completely useless to me. The Origin Story: Notepad++ When I first designed dbatools.io back in 2016, I based it on Notepad++. At the time, I had no idea they …
Read MoreRecently, I wrote about a system I created that automatically classifies SharePoint documents, but only briefly touched on the most important part—the Azure Function that does all the heavy lifting. This post walks through the technical part of this document processing engine and demos how to build an Azure Function …
Read MoreGetting users to enter metadata is THE challenge when managing SharePoint document libraries. The moment we set up custom columns for proper document classification, we create a burden for our users who just want to upload files and move on. As an on-again/off-again SharePoint dev, I find metadata super useful but even …
Read MoreIf you read my post on asking tiny questions, you're already familiar with how structured output turns LLMs into pretty reliable data processors. We saw how requesting boolean responses or specific JSON formats made local LLMs actually useful for automation tasks. In this article, we're taking that same structured …
Read MoreFor the longest time, I thought AI would never apply to me as a developer. I don't excel at math, and AI is pretty much all math. But then I realized that I don't need to understand the math to use AI effectively - there's plenty of applied intelligence that's directly relevant to what I do every day with PowerShell. …
Read MoreThis is the first installment in a series of posts that show actually useful use-cases for AI in automation. Most of the content will revolve around "structured output," which is basically JSON-formatted AI output. You'll learn more about structured output in-depth later on, but in this post, I wanted to give …
Read More