• Part 2: Building a Practical PowerShell Profile In the previous article, we created our first PowerShell profile and explored how PowerShell automatically loads a profile script whenever a new session starts. Now it’s time to make that profile useful. In this article, we’ll add common customizations that many PowerShell users rely on daily, including aliases, module imports, environment variables, and PSReadLine enhancements. Why Customize Your Profile? The goal of a PowerShell profile is simple: eliminate repetitive tasks. Think about the commands you run every time you open PowerShell: Rather than repeating those steps manually, you can automate them through your…

  • Part 1: Understanding PowerShell Profiles — Your Personalized Command-Line Workspace PowerShell is incredibly powerful out of the box, but one of its best features is often overlooked: PowerShell profiles. A PowerShell profile allows you to automatically configure your shell every time it starts. Think of it as a startup script for PowerShell. Instead of repeatedly defining aliases, importing modules, or tweaking your prompt, you can save those customizations in a profile and have them loaded automatically. What Is a PowerShell Profile? A PowerShell profile is simply a PowerShell script (.ps1) that runs whenever a PowerShell session starts. Profiles can be used…

  • Learn how to calculate the maximum depth of a JSON object in PowerShell using a recursive approach. This article explains the logic behind the Get-JsonDepth function, discusses why arbitrary depth limits should be avoided, and explores the balance between accuracy, maintainability, and performance when traversing complex object graphs.

  • PowerShell Remoting over SSH combines the power of PowerShell with the universal availability of SSH. Especially in environments where both Windows and Linux systems are managed, it provides a modern and flexible way of working.

  • Storing credentials in plain text within scripts is a common but risky practice. While it may seem convenient for automation, it exposes sensitive data to anyone with access to the code. In this article, we explore a safer approach using PowerShell’s ConvertTo-SecureString and ConvertFrom-SecureString to encrypt passwords tied to a specific user and machine. This method significantly reduces the risk of credential leaks while keeping automation seamless.

  • When automating tasks on Windows, PowerShell scripts often handle the heavy lifting—but automation isn’t complete until those scripts run on their own. While many admins still use the graphical Task Scheduler, PowerShell provides a full set of cmdlets that make creating, managing, and automating scheduled tasks easier, faster, and more repeatable. In this guide, we’ll walk through how to schedule PowerShell scripts entirely through PowerShell using cmdlets like New-ScheduledTaskAction, New-ScheduledTaskTrigger, and Register-ScheduledTask. We’ll also explore best practices, logging, credentials, and common pitfalls. Why Use PowerShell for Scheduling Tasks? Using PowerShell instead of the Task Scheduler GUI offers several advantages: The Cmdlets You Need…