Generated by All in One SEO v5.0.0.1, this is an llms.txt file, used by LLMs to index the site. # Bart Pasmans | Cloud & Automation Don’t Lift a Finger - Unless It’s to Automate! ## Sitemaps - [XML Sitemap](https://bartpasmans.tech/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Blog](https://bartpasmans.tech/blog/) - Stay ahead with the latest Azure and automation technologies! Discover tips, tools, and insights to optimize workflows and harness the power of the public cloud. Visit now! - [Foundry Agent Memory + PowerShell](https://bartpasmans.tech/foundry-agent-memory-powershell/) - On my own system I'm using AI for assisting me creating solutions, helping me write code (who doesn't?) and explaining topics to me which sometimes require a lot of time to catch-up with all documentation available online. And on my own system I'm using memory to make sure my own AI doesn't act like a - [Microsoft Foundry Hosted Agents](https://bartpasmans.tech/microsoft-foundry-hosted-agents/) - First blog after 3 weeks of vacation, wish me luck! 😆 I need to be honest (and lost count already) but for the latest 10/15 blogs or so , we’ve been calling Azure OpenAI directly. Build a prompt, fire an API call, parse the response. It works. It’s simple. And for scripts you run from - [PowerShell AI Pester Test Generator](https://bartpasmans.tech/powershell-ai-pester-test-generator/) - I have a confession. I wrote blog "Testing your code" about Pester. I explained why tests matter, how to write them, how to structure them. Very convincing stuff. And then I proceeded to write 50+ more blogs where approximately zero of the scripts had proper test coverage. Auch! I know. You know. We all know. - [PowerShell AI Terminal Copilot](https://bartpasmans.tech/powershell-ai-terminal-copilot/) - Hi, and welcome back! The last time we discussed about AI with the AI clipboard watcher hence I was looking for some new and cool AI stuff to do! When doing my research I knew that AI shell is not longer supported; PowerShell AI Shell and that you can now use GitHub CoPilot CLI etc. - [PowerShell AI Clipboard Watcher](https://bartpasmans.tech/powershell-ai-clipboard-watcher/) - Hi, and welcome back! Today we'll be using the output from the previous blog post about letting AI describe what you see. If you missed out that part you can check it here: Last time we built a PowerShell function that sends images to GPT-4o and gets structured analysis back. Error classification, diagram parsing, screenshot - [Show AI What You See!](https://bartpasmans.tech/show-ai-what-you-see/) - Welcome back all! After my previous blog about my session at Experts Live it's time to pick up where we left in the AI journey combined with PowerShell (of course) 😉 Hence today we'll be focusing on something else than just 'plain-text'. Today we'll be diving into something I found quite interesting which is image - [Experts Live Public Speaking](https://bartpasmans.tech/experts-live-public-speaking/) - Public speaking at community gatherings or Microsoft events is not something I engage in frequently, but just last week I had the opportunity to participate for the first time at Experts Live held in Utrecht, Netherlands. Additionally, writing blogs like this one is a relatively new experience for me, as my usual focus has been - [Query your PDFS with AI (And some PowerShell)](https://bartpasmans.tech/query-your-pdfs-with-ai-and-some-powershell/) - So recently I had to analyze a PDF, a PDF which contained over 300 pages. I don't have to tell you how I felt about this one as you probably can imagine. But that's not all, analyzing this PDF is an annual recuring activity! The pain, the suffering and CTRL + F wasn't planning on - [Building an AI-Powered Azure Doctor with PowerShell #2](https://bartpasmans.tech/building-an-ai-powered-azure-doctor-with-powershell-2/) - In our last episode, CloudDoc learned how to scan and diagnose an Azure environment. It collected resources, fed them to an AI model with a strict schema, and came back with structured findings, severity levels, categories, prescriptions, and even the PowerShell commands to fix them. But there was a catch. Our doctor could tell you - [Building an AI-Powered Azure Doctor with PowerShell](https://bartpasmans.tech/building-an-ai-powered-azure-doctor-with-powershell/) - Imagine this. You run one command. A PowerShell agent wakes up, logs into your Azure subscription, pulls every resource it can find, feeds them to an AI model, and gets back a structured diagnosis. Not a wall of text. Not "you might want to consider looking into…" No. A prescription. A list of exact actions, - [Automate Your Browser Using PowerShell as an MCP Client](https://bartpasmans.tech/automate-your-browser-using-powershell-as-an-mcp-client/) - In post #49, we built an MCP server in PowerShell using Pode. Nice start, but the real magic of the Model Context Protocol lives on the client side. That’s where you connect to existing MCP servers and call their tools straight from your terminal. There are now over 10,000 public MCP servers out there. Every - [AI Foundry Tools and PowerShell](https://bartpasmans.tech/ai-foundry-tools-and-powershell/) - It took a bit longer this time (had some days off with the family 😉), but it’s finally here! The goal is simple: instead of digging through folders or searching GitHub manually, we are building a Prompt Agent that has a direct line to your repositories. We’ll be using Tools to link the AI to - [PowerShell and AI from waiting to streaming!](https://bartpasmans.tech/powershell-and-ai-from-waiting-to-streaming/) - Many of you have already built your first PowerShell + AI scripts. You call the API, wait 5 seconds, and then, boom! the entire response appears all at once. It works. But let’s be honest: it feels a bit "static." Compare that to ChatGPT. Tokens appear one by one. It feels alive. It feels fast. - [PowerShell RAG | Bring your own Guidelines to AI](https://bartpasmans.tech/powershell-rag-bring-your-own-guidelines-to-ai/) - Welcome back folks! Took me more time this run but it's finally here! The newest PowerShell AI blog where we'll be talking about RAG! Every PowerShell developer knows the struggle: you have a set of "Golden Rules" or coding standards buried somewhere in a forgotten Markdown file, a Wiki, or a PDF. We tell ourselves - [50 Lines of PowerShell That Let Azure AI Run CMDLets locally](https://bartpasmans.tech/50-lines-of-powershell-that-let-azure-ai-run-cmdlets-locally/) - So, in the last couple of posts we talked about security and PowerShell, and how, in the wrong hands, it’s not just automation: it can actually touch your system in serious ways. Today we’re flipping the perspective. Same PowerShell, but now we’re giving an AI assistant a reason to ask for it. Not by letting the model “log into” - [Creating your own PowerShell AI Agent](https://bartpasmans.tech/creating-your-own-powershell-ai-agent/) - Welcome back! So, last two blogs we were talking about security and PowerShell, and that if in the wrong hands PowerShell can even do harm to your system/environment and not only automate is. Well today we’re putting the security topic aside for now and we’ll be talking about something else. Something everybody in the world - [PowerShell encoded execution, a risk?](https://bartpasmans.tech/powershell-encoded-execution-a-risk/) - Welcome back! Wow, last blog was really well read by the community and I received a lot of positive feedback! So time to do some more with PowerShell and security! We recently pulled back the curtain on how PowerShell can be "hot-wired" to act as a stealthy keylogger by tapping directly into the Windows API. - [PowerShell as Hack - Keylogging](https://bartpasmans.tech/powershell-as-hack-keylogging/) - Welcome back, and today something out of my own comfort zone. Today I will show you how PowerShell can be used for hacks. This is not to teach you how to do hacking but to learn and understand how it works. So you can secure yourself against it! We’re stepping out of the comfort zone - [PowerShell Frameworks: Engineering the Perfect Output](https://bartpasmans.tech/powershell-frameworks-engineering-the-perfect-output/) - Welcome back! Last time, we brought our scripts out of the "Black Hole" by mastering Visual Velocity. We gave our users peace of mind with Progress Bars. We made the process transparent; now, we’re going to make the results professional. I’ll be honest: there is nothing that screams "Amateur Hour" louder than an Architect who - [PowerShell Progress Bars, Bringing the HUD to your scripts!](https://bartpasmans.tech/powershell-progress-bars-bringing-the-hud-to-your-scripts/) - Last time, we tore down the "Nesting Doll Era" of curly braces, replacing clunky if-else towers with the surgical precision of Modern Operators. We made our logic lethal; now, we’re going to make it transparent. I’ll be honest: there is nothing that kills an Architect’s soul faster than a script that looks like a "Black - [Writing Cleaner PowerShell with modern operators](https://bartpasmans.tech/writing-cleaner-powershell-with-modern-operators/) - Welcome back! Last time, we explored the "Zero-Footprint" world of In-Memory XML, leaving the "script-kiddie" disk-writing habits in the dust. Today, we’re moving from data handling to the very DNA of your logic. I’ll be honest: I love a robust if-else statement as much as the next architect, but sometimes your code starts looking like - [Memory-Mapped Mastery: Ditching the Disk with PowerShell 7.5 XML](https://bartpasmans.tech/memory-mapped-mastery-ditching-the-disk-with-powershell-7-5-xml/) - Welcome! In today’s blog, (I’m taking it a bit easier this time 😉) In my previous blogs I liked to go deep into the topic, have a lot of screenshots and steps. But, as I was lacking time this week I had to go for something easier. This time we’re diving into a feature that - [Don’t Lift a Finger: Build Interactive PowerShell UIs in Minutes](https://bartpasmans.tech/dont-lift-a-finger-build-interactive-powershell-uis-in-minutes/) - Welcome! In today’s blog, I’ll be diving into bringing Actual Interfaces into your PowerShell so that you can really start to professionalize your scripts. Because, nobody wants to stare at a wall of text and type out every single parameter manually, right? Luckily, PowerShell has some incredible modules that allow you to build full "Apps" - [PowerShell predictions, no more exhausted hands!](https://bartpasmans.tech/powershell-predictions-no-more-exhausted-hands/) - Welcome! After a lot of topics on AKS it was about time we would discuss something else. In todays blog I'll be diving into bringing predictions into your PowerShell so that you can really start to speed up. Because, nobody wants to constantly repeat himself right? Luckily PowerShell has some nice built-in features for that - [PowerShell Microservices on AKS Part 5](https://bartpasmans.tech/powershell-microservices-on-aks-part-5/) - Welcome to part 5 already of this blog where we will take all the things we did to a higher level. In the previous blog posts I’ve shown you how you can create PowerShell micro services on Azure Kubernetes Service, publish them for the outside world and consume them. But today we are going to - [PowerShell Microservices on AKS Part 4](https://bartpasmans.tech/powershell-microservices-on-aks-part-4/) - Upgrade your AKS ingress: replace NGINX with Azure Application Gateway Ingress Controller for secure, scalable external access to microservices. - [PowerShell Microservices on AKS Part 2](https://bartpasmans.tech/powershell-microservices-on-aks-part-2/) - Yes, We’re Actually Deploying It This Time! 🚀 Welcome back! If you joined me in Part 1, you already know we’re on a mission to prove that PowerShell can do a whole lot more than run scripts on a Windows machine. It can be containerized, deployed, scaled, and orchestrated, right inside Azure Kubernetes Service (AKS). - [PowerShell Microservices on AKS Part 3](https://bartpasmans.tech/powershell-microservices-on-aks-part-3/) - Welcome back! If you joined me in Part 1 & 2, you already know we’re on a mission to prove that PowerShell can do a whole lot more than run scripts on a Windows machine. It can be containerized, deployed, scaled, and orchestrated, right inside Azure Kubernetes Service (AKS). If you by any means missed - [PowerShell Microservices on AKS Part 1](https://bartpasmans.tech/powershell-microservices-on-aks-part-1/) - Building PowerShell Microservices on AKS, Because Yes, PowerShell Can Do That Too! 🚀 If you've been following my blog for a while, you know I love exploring the boundaries of what PowerShell can do, from serverless automation to secure cloud integrations. Today, we’re taking things in a slightly different direction… straight into the world of - [Mastering PowerShell Diagnostics with Set-TraceSource](https://bartpasmans.tech/mastering-powershell-diagnostics-with-set-tracesource/) - If you've been following my blog, you know I’m passionate about automation, observability, and building maintainable PowerShell solutions. Today, we're diving into something that every advanced scripter should use, but very few even know exists: PowerShell tracing! Yes, we all write logs.Some of us write too many logs.But what if I told you PowerShell has - [PowerShell Debugging, Breaking on the fly!](https://bartpasmans.tech/powershell-debugging-breaking-on-the-fly/) - Nope, this isn’t a blog about time travel, quantum physics, or Doctor Strange bending reality… But we are going to mess with the fabric of your PowerShell universe today! 😉 You ever have one of those moments where your PowerShell script is almost working? Variables are behaving, pipelines are smooth, logic is clean and then - [No More Secrets! Passwordless Azure SQL](https://bartpasmans.tech/no-more-secrets-passwordless-azure-sql/) - Lately I’ve been focussing a lot on PowerShell related blogs and topics, so I thought it would be a good moment to go back to some Azure stuff again (and of course with a touch of PowerShell 😉). So here it is! My latest contribution which hopefully will help you strengthen your security whenever you - [Wingardium Crescendo! PowerShell Magic!](https://bartpasmans.tech/wingardium-crescendo-powershell-magic/) - Yeah this ain’t no blog about Harry Potter (don't even know if the title matches with a corresponding Harry Potter 'spell'), but we are going to talk about some magic anyway today! 😉 You know that feeling when you’re working in PowerShell, everything’s flowing beautifully with objects, pipelines, variables which make sense and then…. A - [PowerShell stop hardcoding secrets! Now what?!](https://bartpasmans.tech/powershell-stop-hardcoding-secrets-now-what/) - Yeah, we all know this right "STOP DOING THIS", "STOP DOING THAT!" Yeah... that's nice, but now what?! When you are already in the PowerShell field for some time and have created some scripts you might have been running into this topic; ‘How to deal with secrets’. There are of course solutions like KeyVault, SecureString - [PowerShell AST Explained: How the Abstract Syntax Tree Works](https://bartpasmans.tech/powershell-ast-explained-how-the-abstract-syntax-tree-works/) - After a long period of time, only writing about event-driven topics, I thought it was time for something else. Let’s dive into something that isn’t very well-known by a lot of people, but can be very powerful to get a better understanding of it. After a lot of coffee and staring at the sky, this - [Monitor your Windows registry for changes, the event-driven way!](https://bartpasmans.tech/monitor-your-windows-registry-for-changes-the-event-driven-way/) - Yes, to those loyal readers of my blogs, this is AEDB (Another Event Driven Blog 😆). Am I getting tired already of writing about event-driven architecture stuff? Hell no! As you all know, I’m a big fan, and the more people I can inspire about this, the better! So in today’s post, we are diving - [PowerShell Real-Time Log Monitoring](https://bartpasmans.tech/powershell-real-time-log-monitoring/) - Learn how to monitor logs in real time with PowerShell’s Get-Content -Wait, filter events, and automate actions for event-driven workflows. - [PowerShell BlackBox: Recording Your Scripts!](https://bartpasmans.tech/powershell-blackbox-recording-your-scripts/) - You know that moment when your script runs perfectly during testing, but then mysteriously breaks in production and you have NO idea what happened? Or when someone asks "what exactly did your script do?" and you're left scratching your head? Yeah, been there. Done that. Got the t-shirt. 😅 Well, buckle up because we're diving - [PSBoundParameters: The Variable Flight Recorder Your Scripts Deserve!](https://bartpasmans.tech/psboundparameters-the-variable-flight-recorder-your-scripts-deserve/) - Every PowerShell function has a little secret. When you call it with parameters, it quietly writes them down on a notepad before running the code. Most of the time we never look at that notepad… but once you discover it, you’ll wonder how you ever scripted without it. That notepad is called $PSBoundParameters. It’s an - [Managed Identity and GRAPH permissions](https://bartpasmans.tech/managed-identity-and-graph-permissions/) - Many Azure resources support the configuration of managed identities which help you grant permissions to your resource(s). For instance, you need to grant your WebApp permissions to KeyVault to get Keys/Secrets. But it’s also possible to grant this managed identity access to the Microsoft Graph API letting you manage Entra ID! In my other blogs - [🚀 New Release: AzPolicyCompare – A PowerShell Module for Azure Policy Initiative Comparison](https://bartpasmans.tech/🚀-new-release-azpolicycompare-a-powershell-module-for-azure-policy-initiative-comparison/) - I’m excited to announce the release of AzPolicyCompare, a PowerShell module I’ve developed to help Azure professionals compare Azure Policy Initiatives with ease. Managing and aligning policies across multiple initiatives can be challenging, especially when working with compliance frameworks, migration projects, or custom initiatives. AzPolicyCompare makes this process simple, fast, and insightful. 🔍 What is - [How to Monitor Windows Events in Real-Time Using PowerShell](https://bartpasmans.tech/how-to-monitor-windows-events-in-real-time-using-powershell/) - For the trusted readers of my blog 😉 yes, this is another event driven architecture topic! And this time we’ll be diving into WMI Events with PowerShell! PowerShell is more than just a scripting language; in fact, it’s a bridge to the heart of Windows. Moreover, one of the coolest things hiding in its toolbox - [Unleashing Parallelism in PowerShell](https://bartpasmans.tech/unleashing-parallelism-in-powershell/) - If you’ve been around PowerShell for a while, you know it’s great at looping through stuff. Need to process a list of files? Easy. Query a set of servers? Piece of cake. But sometimes… you hit a wall. The problem? Sequential execution. By default, your loops work in a single-file line, like shoppers at a - [Unleash C# in PowerShell for Astonishing Script Power](https://bartpasmans.tech/unleash-c-in-powershell-for-astonishing-script-power/) - Learn how to embed C# code in PowerShell scripts to handle complex scenarios, boost automation, and unlock advanced scripting capabilities. - [Unlock the Hidden Power of Event-Driven Architecture in PowerShell](https://bartpasmans.tech/unlock-the-hidden-power-of-event-driven-architecture-in-powershell/) - PowerShell is an object-oriented scripting language, which means it processes code from top to bottom, right? Well, think again! PowerShell is a nice combination of .NET and some low end features which enables you to do amazing stuff. For those who are reading my blogs, I Like event driven architecture (my god, again?!) Yes again! - [My personal PowerShell top 10](https://bartpasmans.tech/my-personal-powershell-top-10/) - When I’m giving training on what PowerShell is, how to use it, and showing people how I apply it in real scenarios, I often get questions about real-life business cases. Most people get the gist of PowerShell and see how it could help them in their day-to-day tasks, but they still struggle to connect the - [Azure Containers (When to choose what 😕)](https://bartpasmans.tech/azure-containers-when-to-choose-what-😕/) - I love containers; the peace they bring by abstracting away the underlying infrastructure is a massive game changer. You just package your application, define the running environment, and it just runs, anywhere! But when it comes to running containers in Azure, the abundance of options can be overwhelming. Should you go serverless? Use AKS? Or - [Azure ServiceBus with Azure Functions and PowerShell](https://bartpasmans.tech/azure-servicebus-with-azure-functions-and-powershell/) - If you have been following my blogs for a while, you already know that I have a special place in my heart for event-driven architecture. There is just something elegant about letting events do the heavy lifting for you! Especially when utilizing modern approaches in Azure like Azure Functions, Azure Servicebus and my personal favorite - [Monitoring & alerting Azure App Services with Logic Apps & Slack!](https://bartpasmans.tech/monitoring-alerting-azure-app-services-with-logic-apps-slack/) - This is not the first time I’ll be writing about event-driven architecture, nor will it probably be the last time 😊. I was checking my previous blog posts about event-driven architecture, and it grabbed my attention that I haven’t written anything yet about monitoring. Well, what a good moment for creating a first blog post - [Meet Out-SexyGridView: The Next-Level PowerShell Grid Viewer with Superpowers 🚀](https://bartpasmans.tech/meet-out-sexygridview-the-next-level-powershell-grid-viewer-with-superpowers-🚀/) - If you’ve ever worked with PowerShell’s built-in Out-GridView, you know it’s a handy tool to visualize objects in a simple, tabular format. But what if I told you there’s a modern, sleek, and much smarter alternative? That’s exactly why I created Out-SexyGridView! A fresh, interactive grid viewer designed for the way we work today. Why - [Pre-Auth/Easy Auth with Azure App Services & downstream token setup with a custom API](https://bartpasmans.tech/pre-auth-easy-auth-with-azure-app-services-downstream-token-setup-with-a-custom-api/) - Azure App Services by default are open to the public, allowing external connections to your trusted app. Sometimes setting the status of your App Service from public to ‘private’ is not something you want. But you do want to limit control over who is accessing your App Service.When whitelisting of IP addresses is not an - [Securing your Azure Functions](https://bartpasmans.tech/securing-your-azure-functions/) - Azure Functions can be of great benefit to your automation flows! They can get data and perform business logic on request. They can even connect to your on-premises environment on demand. And the best thing? Azure Functions can be reached over the Internet! 😧 Or is that not always a ‘best thing’? In my previous - [A single public outbound IP for Azure (app) resources!](https://bartpasmans.tech/a-single-public-outbound-ip-for-azure-app-resources/) - I regularly run into situation where PaaS resources are used which require external connectivity. For example, to API's or to third party services that use whitelisting to allow only certain IP's to access their resources. Whether you're building APIs that need to communicate with external services or implementing security measures that require predictable outbound traffic! But - [Start scripting like a pro! – #10 | Structured Relational data storage](https://bartpasmans.tech/start-scripting-like-a-pro-10-structured-relational-data-storage/) - In my previous blog posts I’ve shown you how to start structuring your data by utilizing JSON. If you missed out this part you can check it here: https://bartpasmans.tech/start-scripting-like-a-pro-2/ This way of structuring data does have some cons. It’s not stored in a relational way (there are no cross references between objects). Its difficult to - [Start scripting like a pro! – #9 | Responding to Azure Events (the Mediator approach)!](https://bartpasmans.tech/start-scripting-like-a-pro-9-responding-to-azure-events-the-mediator-approach/) - If I need to address right now a type of technology which really makes me happy it would be ‘event driven architecture’. For me this is a real game changer where we no longer do things based on an interval, or a constant checking mechanism. No! We do things real-time, responding to actual events the - [Start scripting like a pro! – #8 | Setting up a Azure Functions and consume with PowerShell!](https://bartpasmans.tech/start-scripting-like-a-pro-8-setting-up-a-azure-functions-and-consume-with-powershell/) - Introduction In the previous blog post: https://bartpasmans.tech/start-scripting-like-a-pro-7-setting-up-a-custom-graphql-api-and-consume-with-powershell/I’ve shown you how to set up a GraphQL API (for the loyal followers of this blog series 😉 with the user management system). In this blog post, I want to show you how to achieve the same goal—“Setting up an API and consuming it with PowerShell”—by utilizing Microsoft - [Start scripting like a pro! - #7 | Setting up a custom GraphQL API and consume with PowerShell!](https://bartpasmans.tech/start-scripting-like-a-pro-7-setting-up-a-custom-graphql-api-and-consume-with-powershell/) - Welcome to this new blog post in which we’re going to see how to make API’s with GraphQL and consume them using PowerShell. In my previous blog posts, I’ve shown how to level up your scripting game by implementing object-oriented programming, introducing advanced functions, optimizing performance with threading, and handling errors effectively. Now, it’s the - [Start scripting like a pro! – #6 | Speeding up your code](https://bartpasmans.tech/start-scripting-like-a-pro-6-speeding-up-your-code/) - In the previous blog posts, I’ve shown how to get started with advanced scripting—implementing functions, using (advanced) parameters, working with modules, and testing everything. Now, in the current post, I’m taking things a step further by explaining how we can speed things up. I’ll go through the basics of threading in PowerShell, also known as - [Start scripting like a pro! – #5 | Testing your code](https://bartpasmans.tech/start-scripting-like-a-pro-5-testing-your-code/) - Welcome to this next blog, where I’ll guide you through the magnificent world of testing!In my previous blog posts, I showed you how to step up your scripting game—diving into object-oriented scripting, enhancing your functions, developing modules, and adding comments to keep everything maintainable.Although testing isn’t exactly the most exciting topic in our industry, it’s - [Start scripting like a pro! – #4](https://bartpasmans.tech/start-scripting-like-a-pro-4/) - Welcome to this new post! Today, I’ll show you how to set up and work with PowerShell modules to enhance the efficiency and maintainability of your code. Before diving into the details, let’s quickly recap the concepts from previous posts, as they will be relevant here as well. In my previous blog posts, you’ve learned - [Start scripting like a pro! – #3](https://bartpasmans.tech/start-scripting-like-a-pro-3/) - Welcome to the third post in this series about “Scripting like a pro", great to have you here! 😊In this post, we’ll take your scripting skills to the next level by building on everything you've learned so far and pushing it even further.By now, you should be familiar with: Objects Functions Classes Strongly typed variables - [Start scripting like a pro! – #2](https://bartpasmans.tech/start-scripting-like-a-pro-2/) - In my previous post, you saw how to level up your scripting game by implementing some basics. In this post, I want to dive deeper into the world of scripting with you by exploring the following topics; Strongly typed variables Return values Error handling Classes, constructors, and functions Data structuring and storing - [Start scripting like a pro! - #1](https://bartpasmans.tech/start-scripting-like-a-pro-1/) - Discover the power of object-oriented scripting! Learn to structure your code like a pro with classes, object. Perfect to master scripting techniques. - [Azure Policies from the start!](https://bartpasmans.tech/azure-policies-from-the-start/) - Welcome to my first-ever technical article! 🚀 In this post, I’ll be delving into Microsoft Azure Policies, an essential tool for implementing governance and ensuring compliance in the cloud. As engineers, we’re often juggling complex systems, and understanding tools like Azure Policies can make a world of difference. My aim with this article—and future ones—is - [Welcome to My Tech Haven!](https://bartpasmans.tech/starting-the-journey/) - Hello and welcome! This blog is my personal corner of the web where I share insights, tips, and ideas about two of my greatest passions: automation and public cloud technologies. Whether you're a fellow tech enthusiast, a curious learner, or just exploring ways to optimize your workflows, you've come to the right place. Here, you'll ## Pages - [Welcome](https://bartpasmans.tech/) - Hi there! I’m an enthusiastic techie with a passion for automation and the wonders of public cloud technology. Through this blog, I aim to share my knowledge, experiences, and insights, all while inspiring and supporting others who share similar interests. Technology is an ever-evolving world, and I’m constantly exploring new ideas, tools, and approaches to - [Scripts](https://bartpasmans.tech/scripts/) - PowerShell Feel free to use any of the scripts in this repository to make your life as DevOps engineer easier! 😉 ## Products - [WordPress Pennant](https://bartpasmans.tech/product/wordpress-pennant/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [T-Shirt With Logo](https://bartpasmans.tech/product/t-shirt-with-logo/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Beanie With Logo](https://bartpasmans.tech/product/beanie-with-logo/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Logo Collection](https://bartpasmans.tech/product/logo-collection/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Album](https://bartpasmans.tech/product/album/) - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio - [Single](https://bartpasmans.tech/product/single/) - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio - [Long Sleeve Tee](https://bartpasmans.tech/product/long-sleeve-tee/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Polo](https://bartpasmans.tech/product/polo/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Sunglasses](https://bartpasmans.tech/product/sunglasses/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Hoodie With Pocket](https://bartpasmans.tech/product/hoodie-with-pocket/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Hoodie With Zipper](https://bartpasmans.tech/product/hoodie-with-zipper/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Belt](https://bartpasmans.tech/product/belt/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Cap](https://bartpasmans.tech/product/cap/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Hoodie With Logo](https://bartpasmans.tech/product/hoodie-with-logo/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [T-Shirt](https://bartpasmans.tech/product/t-shirt/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Beanie](https://bartpasmans.tech/product/beanie/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [Hoodie](https://bartpasmans.tech/product/hoodie/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. - [V-Neck T-Shirt](https://bartpasmans.tech/product/v-neck-t-shirt/) - Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. ## Categories - [Announcements](https://bartpasmans.tech/category/uncategorized/) - [Cloud | Governance](https://bartpasmans.tech/category/category-1/) - Gebruik deze beschrijving om gebruikers te vertellen welke soort blogberichten ze in deze categorie kunnen vinden. - [Scripting](https://bartpasmans.tech/category/scripting/) - [APIs](https://bartpasmans.tech/category/apis/) - [Architecture](https://bartpasmans.tech/category/architecture/) - [Cloud | Automation](https://bartpasmans.tech/category/cloud-automation/) - [Cloud | Security](https://bartpasmans.tech/category/cloud-security/) - [Containers](https://bartpasmans.tech/category/containers/) - [AI](https://bartpasmans.tech/category/ai/) - [Events](https://bartpasmans.tech/category/events/) ## Tags - [Powershell](https://bartpasmans.tech/tag/powershell/) - [Legacy CLI Wrapping](https://bartpasmans.tech/tag/legacy-cli-wrapping/) - [Command To PowerShell](https://bartpasmans.tech/tag/command-to-powershell/) - [AKS](https://bartpasmans.tech/tag/aks/) - [PowerShell AKS](https://bartpasmans.tech/tag/powershell-aks/) - [PowerShell as MicroService](https://bartpasmans.tech/tag/powershell-as-microservice/) ## Product categories - [Clothing](https://bartpasmans.tech/product-categorie/clothing/) - [Music](https://bartpasmans.tech/product-categorie/music/) - [Decor](https://bartpasmans.tech/product-categorie/decor/)