<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Commandline Ninja: Learn PowerShell. Automate Tasks.</title>
    <link>https://commandline.ninja/</link>
    <description>Recent content on Commandline Ninja: Learn PowerShell. Automate Tasks.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 26 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://commandline.ninja/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PowerShell: Find Windows Services Running as Another User</title>
      <link>https://commandline.ninja/use-powershell-to-find-services-configured-to-run-as-another-user/</link>
      <pubDate>Mon, 14 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/use-powershell-to-find-services-configured-to-run-as-another-user/</guid>
      <description>Article Contents:
Finding Logon As or Run As information Searching CIM Data for properties Building a query with Get-CIMInstance Using PowerShell Remoting to connect to computers Formatting output Simplifying our code Conclusion One day at work my manager asked me to find all services running under different credentials on a handful of a specific servers. The ask went something like this:
&amp;ldquo;Hey Mike, can you find all the services configured to run as another user on a specific group of servers?</description>
    </item>
    
    <item>
      <title>Video Intro to Secret Management with PowerShell</title>
      <link>https://commandline.ninja/video-intro-to-secret-management-with-powershell/</link>
      <pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/video-intro-to-secret-management-with-powershell/</guid>
      <description>Storing and accessing secrets with PowerShell used to pose a challenge. Until 2021, there was no easy, convenient solution for creating and storing secrets. Microsoft&amp;rsquo;s Secret Management module, released in early 2021, has made life much easier. The module simplifies creating, storing, and recalling secrets by providing easy-to-use commands.
The Secret management module handles the hard task of managing secrets. You input secrets through the command line, and the module converts them into encrypted form before storing them in a vault that works with Secret Management.</description>
    </item>
    
    <item>
      <title>Single Sign-On(SSO): SAML vs OAuth vs OIDC - What&#39;s the Difference</title>
      <link>https://commandline.ninja/saml-oauth-oidc/</link>
      <pubDate>Sun, 26 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/saml-oauth-oidc/</guid>
      <description>I work on an automation team that also handles all the SSO configurations for our organization. We&amp;rsquo;re a talented group - we&amp;rsquo;ve set up hundreds of SAML integrations, configured countless app registrations in Azure, and automated authentication workflows across our enterprise. We know what we&amp;rsquo;re doing. Or so I thought.
One day we got to talking about OAuth and OIDC, and I was surprised to discover something: while we could all configure these protocols successfully, the group couldn&amp;rsquo;t clearly explain the fundamental differences between them.</description>
    </item>
    
    <item>
      <title>Jump Start: PowerShell Learning Resources</title>
      <link>https://commandline.ninja/powershell-learning-resources/</link>
      <pubDate>Wed, 05 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/powershell-learning-resources/</guid>
      <description>TABLE OF CONTENTS
If you like to learn from books If you like to learn from videos If you like to read blogs If you like to take part with others If you like to learn from doing When it&amp;rsquo;s time to write code One last resource&amp;hellip; Newcomers to PowerShell and automation often ask me: Where can I find great resources to learn PowerShell?
There are a multitude of answers to that question.</description>
    </item>
    
    <item>
      <title>Configure one PowerShell profile for many users</title>
      <link>https://commandline.ninja/configure-one-powershell-profile-for-many-users/</link>
      <pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/configure-one-powershell-profile-for-many-users/</guid>
      <description>The prevailing practice in most workplaces is to operate with the fewest privileges necessary. Admins and support staff in IT shops rely on multiple IDs to perform their tasks. In PowerShell, it&amp;rsquo;s possible to assign a separate profile to each ID, complete with individual configurations, shortcuts, code snippets, and so on. This feature allows you to customize your work environment uniquely for each user ID, which can be incredibly useful.</description>
    </item>
    
    <item>
      <title>PowerShell Parameters Code Challenge</title>
      <link>https://commandline.ninja/quiz-powershell-params/</link>
      <pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/quiz-powershell-params/</guid>
      <description>I&amp;rsquo;m excited to introduce a fresh addition to the CommandLine.ninja website! Get ready to challenge yourself and improve your PowerShell and automation skills, and maybe even pick up a few tips and tricks!
Every week, I&amp;rsquo;ll provide you with a different subject and two sets of quizzes - one easy and one difficult. The quizzes will comprise a series of questions that center on the weekly topic. No matter your skill level, there&amp;rsquo;s something here for everyone.</description>
    </item>
    
    <item>
      <title>How to set and manage Environment Variables with PowerShell</title>
      <link>https://commandline.ninja/intro-environment-variables/</link>
      <pubDate>Sun, 24 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/intro-environment-variables/</guid>
      <description>Hey there PowerShell family!
Today, I&amp;rsquo;m excited to share my latest article from petri.com, which discusses setting and managing Environment Variables with PowerShell. The article covers various capabilities of PowerShell, exploring key areas and scenarios that you should understand and master. Here&amp;rsquo;s a summary of the major topics covered in the article.
Introduction to Environment Variables What are they with a focus on how to create and manage them using various methods.</description>
    </item>
    
    <item>
      <title>Power Up your PowerShell experience with these four add-ons</title>
      <link>https://commandline.ninja/power-up-your-powershell-experience-with-these-four-add-ons/</link>
      <pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/power-up-your-powershell-experience-with-these-four-add-ons/</guid>
      <description>The creators of PowerShell have introduced new tools and functionality to enhance your experience with it. Over at the TechTarget website, I discuss four additions that can enhance your everyday use of PowerShell.
The article talks about recent improvements in PowerShell, focusing on tools and features that make it easier for users to work with. It discusses PowerShell&amp;rsquo;s extensibility, introduction of ANSI colors and $PSStyle variable, customization of command-line editing with PSReadLine module, and integration of Azure&amp;rsquo;s AI capabilities through the Az Predictor module.</description>
    </item>
    
    <item>
      <title>Talking about community on the new PowerShell Podcast</title>
      <link>https://commandline.ninja/powershell-podcast-guest-speaker/</link>
      <pubDate>Mon, 04 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/powershell-podcast-guest-speaker/</guid>
      <description>Earlier in March I appeared on a new podcast called &amp;ldquo;The PowerShell Podcast&amp;rdquo; which is presented by PDQ.com and hosted by Jordan Hammond and Andrew Pla. This podcast is just getting off the ground and I am honored to be invited to chat with the guys in episode 4.
The podcast is trying to capture the pulse of the community in podcast form and so far I think they have done an excellent job with the guests they have had on and the topics they have covered.</description>
    </item>
    
    <item>
      <title>Get-CIMInstance Vs Get-WMIObject: What&#39;s The Difference?</title>
      <link>https://commandline.ninja/get-ciminstance-vs-get-wmiobject/</link>
      <pubDate>Wed, 16 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/get-ciminstance-vs-get-wmiobject/</guid>
      <description>&amp;#x1F6A8; I wrote this article for the IPSwitch website in Oct 2019. I am posting it here for archival purposes. I have reformatted it for readability and grammar.
TABLE OF CONTENTS
A history lesson on WMI and CMI WMI and CIM Network requirements What&amp;rsquo;s in a name? Which one should you use PowerShell provides two similar management interfaces for accessing data on a computer: WMI and CIM.
Sysadmins have been using WMI for years, and then Microsoft gave us data access via CIM with the rollout of PowerShell v3.</description>
    </item>
    
    <item>
      <title>Change the AdminCount attribute for protected accounts</title>
      <link>https://commandline.ninja/activedirectory-admincount-attribute-usage/</link>
      <pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/activedirectory-admincount-attribute-usage/</guid>
      <description>Many admins often misunderstand or find the concept of AdminCount in Active Directory unfamiliar. If you&amp;rsquo;re interested in learning about its function, purpose, and proper configuration, look at my TechTarget article.
The article covers everything about AdminCount and what you should focus on. There is a hidden attribute called AdminCount in all Active Directory objects, and its default value is Null. When you set the AdminCount value to 1, accounts are treated differently, disabling inheritance and enforcing security through the AdminSDHolder object.</description>
    </item>
    
    <item>
      <title>Find Inactive User Accounts in Your Domain</title>
      <link>https://commandline.ninja/find-inactive-user-accts/</link>
      <pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/find-inactive-user-accts/</guid>
      <description>I wrote this article for the IPSwitch website on Nov 2020. I am posting it here for archival purposes. I have reformatted it for readability and grammar.
TABLE OF CONTENTS
Define search criteria Find account inactivity properties Logon attributes explained Building the Automation Wrapping it all up Active Directory is a directory service that maintains information about users, computers and related objects. It is a database of relational information that needs periodic maintenance to remain useful and relevant.</description>
    </item>
    
    <item>
      <title>Getting started with EntraID Conditional Access policies</title>
      <link>https://commandline.ninja/learn-the-fundamentals-of-azure-conditional-access-policies/</link>
      <pubDate>Tue, 22 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/learn-the-fundamentals-of-azure-conditional-access-policies/</guid>
      <description>Azure Active Directory Conditional Access policies offer a cutting-edge method to implement precise access controls for every Azure cloud login attempt.
Changing times require updated security practices It is no longer acceptable to grant access to resources based on simple assumptions. One cannot block all access from countries in the Asia-Pacific region, for instance. Companies require increased flexibility to accommodate unique login combinations.
When logging in, the company might demand a distinct level of authentication for phone users compared to those using corporate laptops.</description>
    </item>
    
    <item>
      <title>How to perform Azure AD bulk operations with PowerShell</title>
      <link>https://commandline.ninja/how-to-perform-azure-ad-bulk-operations-with-powershell/</link>
      <pubDate>Mon, 07 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/how-to-perform-azure-ad-bulk-operations-with-powershell/</guid>
      <description>Although the Azure portal is sufficient for basic user and group management in Azure Active Directory, PowerShell is the best option for making extensive modifications. However, there are conditions to think about before you can enjoy the advantages of automation.
While the Azure portal provides a graphical interface for user and group management in Azure AD, it may not be the most efficient approach to tasks involving hundreds or thousands of users.</description>
    </item>
    
    <item>
      <title>Video Intro to Azure DevOps</title>
      <link>https://commandline.ninja/video-intro-to-azure-devops/</link>
      <pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/video-intro-to-azure-devops/</guid>
      <description>Some months back, I presented a demo showcasing Azure DevOps as a viable and robust task scheduler for on-prem servers. At first glance, Azure DevOps may not seem like a task scheduler replacement, but it has all the components needed to execute jobs on-premises or in the cloud. Azure DevOps is surprisingly affordable to use as an on-prem task scheduler in this configuration. If you don&amp;rsquo;t require simultaneous job execution, the cost can be as low as $0 per month.</description>
    </item>
    
    <item>
      <title>How to customize your PowerShell command prompt</title>
      <link>https://commandline.ninja/customize-pscmdprompt/</link>
      <pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/customize-pscmdprompt/</guid>
      <description>Article Contents:
My PowerShell Prompt Preferences Customizing the Prompt function Detecting Run As Administrator Displaying the Current User Displaying the Current Folder Creating a &amp;ldquo;timestamp&amp;rdquo; for commands Querying how long the last command ran Displaying the full folder path in the Title Bar Bringing it all together You can personalize the command prompt in PowerShell to suit your preferences. To enhance the usefulness of the command prompt display, many pieces of information can be incorporated.</description>
    </item>
    
    <item>
      <title>Getting familiar with Invoke-Item in PowerShell</title>
      <link>https://commandline.ninja/invoke-item/</link>
      <pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/invoke-item/</guid>
      <description>TABLE OF CONTENTS
Opening Files and Folders Opening Multiple Files of the Same Type Opening Multiple Files using the -include parameter Opening Multiple Files using the -exclude parameter Opening Aliases Launching Files Immediately after Creation Conclusion A few weeks ago I was browsing the tips and tricks page on my good friend, Jeff Hicks&amp;rsquo; website and stumbled across a cmdlet I was not familiar with: Invoke-Item. His tips page included a one liner that stated:</description>
    </item>
    
    <item>
      <title>Monitor Multiple PCs&#39; Uptime with Ease Using Get-PCUptime in PowerShell</title>
      <link>https://commandline.ninja/find-out-how-long-that-pc-has-been-running-with-get-uptime/</link>
      <pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/find-out-how-long-that-pc-has-been-running-with-get-uptime/</guid>
      <description>TABLE OF CONTENTS
Uptime and PowerShell7 Finding the relevant Information Storing the date/time information Formatting the Output Bringing it all together One thing that frustrates me is how hard it can be to find out how long a computer is powered on. Yes, there are many ways to find out the up-time of a computer, but most are not &amp;ldquo;PowerShell friendly&amp;rdquo;. If I want to use any of the methods listed in the link above in a script, then I have to manipulate string data or other options which are even worse.</description>
    </item>
    
    <item>
      <title>What&#39;s new with Select-String in PowerShell7</title>
      <link>https://commandline.ninja/select-string-whats-new/</link>
      <pubDate>Sat, 14 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/select-string-whats-new/</guid>
      <description>TABLE OF CONTENTS
-culture parameter -noemphasis parameter -raw parameter -simplematch parameter Select-String is one of those commands that either you use it often or not much at all. There doesn&amp;rsquo;t seem to be a middle of the road for Select-String. I don&amp;rsquo;t get called upon to use it that often, but when I do, it usually saves my bacon at work. The most typical use case for me is for searching flat log files for patterns of text or for all entries of a particular phrase across a bunch of files.</description>
    </item>
    
    <item>
      <title>Error Handling in PowerShell 7 with Get-Error and $Errorview</title>
      <link>https://commandline.ninja/error-handling-in-powershell-7-with-get-error-and-errorview/</link>
      <pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/error-handling-in-powershell-7-with-get-error-and-errorview/</guid>
      <description>TABLE OF CONTENTS
Error Views Get-Error PowerShell 7 Blog Week PowerShell 7 Blog Week Authors By now, I am sure you&amp;rsquo;ve heard the news: PowerShell 7 is no longer a beta product and the latest release has reached GA (generally available) status. In short, this means that Microsoft now considers PowerShell7 production ready! From this point forward you should begin to use PowerShell7 as your daily driver for all things PowerShell.</description>
    </item>
    
    <item>
      <title>Connecting to multiple computers with Invoke-Command</title>
      <link>https://commandline.ninja/connecting-to-multiple-computers-with-invoke-command/</link>
      <pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/connecting-to-multiple-computers-with-invoke-command/</guid>
      <description>PowerShell remoting is a method you can use to connect securely to many machines with very little effort. Using remoting, a user can quickly query information or deploy a change to multiple computers without ever having to login via a GUI or RDP. Let&amp;rsquo;s review the basics of this cmdlet and how you can get started using Invoke-Command.
What is PowerShell Remoting? PowerShell Remoting allows you to connect to multiple computers on your network from a PowerShell command prompt.</description>
    </item>
    
    <item>
      <title>Jump Start: PowerShell Remoting</title>
      <link>https://commandline.ninja/jump-start-powershell-remoting/</link>
      <pubDate>Mon, 13 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/jump-start-powershell-remoting/</guid>
      <description>TABLE OF CONTENTS
Connecting to multiple computers with Invoke-Command Invoke-Command: Connecting to computers requiring different credentials Invoke-Command: Dealing with offline computers Invoke-Command: Compensating for slow responding computers How to secure PowerShell Remoting in a Windows Domain Video: Configuring PowerShell Remoting Security &amp;amp; Logging PowerShell remoting is a method you can use to connect securely to many machines with very little effort. Using remoting, a user can quickly query information or deploy a change to multiple computers without ever having to login via a GUI or RDP.</description>
    </item>
    
    <item>
      <title>PowerShell Basics: Top 5 Commands for Beginners</title>
      <link>https://commandline.ninja/the-first-five-commands-you-need-to-master/</link>
      <pubDate>Wed, 04 Dec 2019 13:03:28 +0000</pubDate>
      
      <guid>https://commandline.ninja/the-first-five-commands-you-need-to-master/</guid>
      <description>TABLE OF CONTENTS
1. Get-Help 2. Update-Help 3. Get-Command 4. Get-Member 5: Get-ExecutionPolicy Bonus Commands to Master 6 - Set-ExecutionPolicy 7 - About_ Files Conclusion Getting started with PowerShell is easy. In fact, it&amp;rsquo;s easy enough for some people that they just dive in and start using it every day with little formal knowledge. At some point though, everyone needs a little help. The PowerShell console has a rich set of cmdlets and built-in help that can be useful for learning how to use the PowerShell language correctly.</description>
    </item>
    
    <item>
      <title>Video: Configuring PowerShell Remoting security &amp; logging</title>
      <link>https://commandline.ninja/psremoting-video/</link>
      <pubDate>Mon, 11 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/psremoting-video/</guid>
      <description>Last week I gave a presentation on configuring PowerShell remoting security and logging for my user group. This talk focused on how to properly setup remoting security and logging options. I talk briefly about how remoting works with some simple examples of what a real-world remoting connection looks like.
Today I am sharing with you the link to the recorded video. So why do you need to know this?
I believe that remoting in PowerShell unfairly gets a bad rap in the security world and the truth is that when done right; PowerShell remoting is equal to SSH.</description>
    </item>
    
    <item>
      <title>Managing Scheduled Jobs with PowerShell</title>
      <link>https://commandline.ninja/managing-scheduled-jobs-with-powershell/</link>
      <pubDate>Mon, 28 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/managing-scheduled-jobs-with-powershell/</guid>
      <description>TABLE OF CONTENTS
What Are Jobs What are Scheduled Jobs I&amp;rsquo;d like to walk you through how to manage PowerShell scheduled jobs. The concept of PowerShell jobs is not familiar territory for many PowerShell users. At first glance, the benefits of running any kind of job from the command line may not be obvious. This article, which I wrote for the 4sysops website peels back the covers on managing scheduled jobs and the benefits that come with them.</description>
    </item>
    
    <item>
      <title>Easily Display Console Colors</title>
      <link>https://commandline.ninja/display-console-colors/</link>
      <pubDate>Wed, 24 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/display-console-colors/</guid>
      <description>I like to customize the color of status messages that are returned to the screen; especially important variables like usernames and computernames. I think it helps the user of my scripts recognize important information. For example, take a look at the screencap below. Notice how the text returned on line 2 is all one color.
Here&amp;rsquo;s the output from another cmdlet with some color added to the returned text. it makes the important information stand out prominently.</description>
    </item>
    
    <item>
      <title>Building a better Group Policy backup with PowerShell</title>
      <link>https://commandline.ninja/building-a-better-group-policy-backup-with-powershell/</link>
      <pubDate>Fri, 18 Jan 2019 23:26:02 +0000</pubDate>
      
      <guid>https://commandline.ninja/building-a-better-group-policy-backup-with-powershell/</guid>
      <description>I have always been a bit frustrated with the built-in group policy cmdlets included from Microsoft. Don&amp;rsquo;t get me wrong, they work absolutely fine, but sometimes they don&amp;rsquo;t work in a way that makes them easy to use. To highlight this fact, I recently wrote an article over at 4sysops describing my experiences with the Backup-GPO cmdlet and the output of the cmdlet.
Instead of dealing with an output I didn&amp;rsquo;t like, I built a better backup tool using the existing cmdlets that gives me the output in a much easier format to understand than what is possible with the cmdlets on their own.</description>
    </item>
    
    <item>
      <title>Managing Local User Accounts with PowerShell</title>
      <link>https://commandline.ninja/managing-local-users/</link>
      <pubDate>Mon, 07 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/managing-local-users/</guid>
      <description>I&amp;rsquo;ve always been frustrated trying to manage local user accounts on servers and PC&amp;rsquo;s. Ok, I&amp;rsquo;ll admit my frustration mostly lies with the management of local PC&amp;rsquo;s because those computers are not always online and sometimes they&amp;rsquo;re in distant offices that are not well connected. For me, managing the user accounts on local PC&amp;rsquo;s can sometimes just be time consuming.
The other thing that I have sort of hated is that managing local accounts with PowerShell has not been a built-in thing until PowerShell v5 was released and those cmdlets included for local accounts are for literally for LOCAL ACCOUNTS only.</description>
    </item>
    
    <item>
      <title>10 ways anyone can contribute to the PowerShell community</title>
      <link>https://commandline.ninja/how-anyone-can-easily-contribute-to-the-powershell-community/</link>
      <pubDate>Mon, 19 Nov 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/how-anyone-can-easily-contribute-to-the-powershell-community/</guid>
      <description>One of the things that makes the PowerShell community so great is the willingness of others to help people succeed. Unlike other communities, there is no bitter in-fighting among members or outward competition to one-up the people who actively participate. You also don&amp;rsquo;t have people outwardly flaming each other when they do not agree with your opinions. There is a genuine interest by most active members of the community for others to be successful and grow within the community.</description>
    </item>
    
    <item>
      <title>How to secure PowerShell Remoting in a Windows Domain</title>
      <link>https://commandline.ninja/securing-powershell/</link>
      <pubDate>Sat, 27 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/securing-powershell/</guid>
      <description>TABLE OF CONTENTS
Security &amp;amp; Authentication Certificate-Based Authentication Firewall Settings Limiting Connections Logging Module Logging Script Block Logging Transcription Conclusion My Recommendations PowerShell is an awesomely powerful tool for configuring, managing and controlling your environment. Out of the box, PowerShell remoting is very secure but there are enhancements you can make to increase security.
I was recently asked to come up with a security posture for my organization and to communicate that stance to my leaders.</description>
    </item>
    
    <item>
      <title>Get-PageFileInfo - Query pagefile size with PowerShell</title>
      <link>https://commandline.ninja/query-page-file-size-on-windows-servers-w-powershell/</link>
      <pubDate>Thu, 30 Aug 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/query-page-file-size-on-windows-servers-w-powershell/</guid>
      <description>I have recently been dealing with a phenomenon that I personally haven&amp;rsquo;t had to think about for quite some time: managing the pagefile size of servers.
Over the years, I have probably read nine or ten different guides on size recommendations for the Windows pagefile. I once read that you don&amp;rsquo;t need a page file (that&amp;rsquo;s crazy - you do need one!) and I have also read some posts where the author did some crazy math to determine the optimal size of the file.</description>
    </item>
    
    <item>
      <title>I&#39;m published!</title>
      <link>https://commandline.ninja/ps-conference-book/</link>
      <pubDate>Tue, 17 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/ps-conference-book/</guid>
      <description>Many of you may be wondering where I have been for the past few months. I had been regularly posting content once or twice a week but then things slowed down to a trickle and eventually to a full stop&amp;hellip;
The reason for the slow down in content was that I was invited to be a contributor in a new book about the PowerShell summit which I attended in April; and today I am happy to announce my contribution to that that project is live!</description>
    </item>
    
    <item>
      <title>Get-ADUser - Cmdlet Syntax and Examples</title>
      <link>https://commandline.ninja/get-aduser/</link>
      <pubDate>Mon, 14 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/get-aduser/</guid>
      <description>Get-ADUser is probably the first cmdlet you will encounter when you use PowerShell to manage Active Directory. It is the most popular cmdlet in the RSAT module for Active Directory and for good reason. One of the most common tasks of Active Directory is managing users and their attributes.
I will walk you through the PowerShell code needed to do some common queries of Active Directory using Get-ADUser. Then I will follow that up with some queries that you may wish to do, but the syntax to run those queries could be trickier to master.</description>
    </item>
    
    <item>
      <title>Get-ADOrganizationalUnit - Cmdlet Syntax and Examples</title>
      <link>https://commandline.ninja/get-adorganizationalunit-syntax-and-examples/</link>
      <pubDate>Sat, 05 May 2018 05:06:15 +0000</pubDate>
      
      <guid>https://commandline.ninja/get-adorganizationalunit-syntax-and-examples/</guid>
      <description>TABLE OF CONTENTS
SYNOPSIS CMDLET ALIASES DESCRIPTION SYNTAX EXAMPLES SYNOPSIS Gets one or more Active Directory organizational units. CMDLET ALIASES None DESCRIPTION The Get-ADOrganizational unit cmdlet gets an organizational unit object or performs a search to retrieve multiple organizational units.
The Identity parameter specifies the Active Directory organizational unit to retrieve. You can identify an organizational unit by its distinguished name (DN) or GUID. You can also set the parameter to an organizational unit object variable, such as $ or pass an organizational unit object through the pipeline to the Identity parameter.</description>
    </item>
    
    <item>
      <title>Participating in your local PowerShell User Group</title>
      <link>https://commandline.ninja/join-a-local-user-group/</link>
      <pubDate>Sat, 05 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/join-a-local-user-group/</guid>
      <description>TABLE OF CONTENTS
What the heck is a user group? What happens at these meetings? What is the purpose? The hardest part is starting Summary For the past year, I&amp;rsquo;ve been regularly attending monthly meetings at my local PowerShell user group in Raleigh. Recently, I had the chance to attend a SQL users group in the area where they discussed a topic specific to PowerShell. I thought I&amp;rsquo;d share my experiences and encourage you to get involved in local user groups.</description>
    </item>
    
    <item>
      <title>Get-ADComputer - Cmdlet Syntax and Examples</title>
      <link>https://commandline.ninja/get-adcomputer-cmdlet-syntax-and-examples/</link>
      <pubDate>Mon, 30 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/get-adcomputer-cmdlet-syntax-and-examples/</guid>
      <description>TABLE OF CONTENTS
SYNOPSIS DESCRIPTION SYNTAX EXAMPLES SYNOPSIS Gets one or more Active Directory computers. DESCRIPTION The Get-ADComputer cmdlet gets a computer or performs a search to retrieve multiple computers.
The Identity parameter specifies the Active Directory computer to retrieve. You can identify a computer by its distinguished name (DN), GUID, security identifier (SID) or Security Accounts Manager (SAM) account name. You can also set the parameter to a computer object variable, such as $&amp;lt;localComputerObject&amp;gt; or pass a computer object through the pipeline to the Identity parameter.</description>
    </item>
    
    <item>
      <title>PS Summit 2018 Recap</title>
      <link>https://commandline.ninja/ps-summit-2018/</link>
      <pubDate>Sat, 28 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/ps-summit-2018/</guid>
      <description>Last week I was fortunate to have attended the PowerShell Summit in Bellevue, Washington on behalf of my employer. The summit, which is organized and run by the PowerShell.org website, was a combination of keynote speeches by industry leaders followed by three days of deep-dive presentations on all things PowerShell.
Being that this was my first time attending, I honestly wasn&amp;rsquo;t sure what to expect.
&amp;#10071; So where is the rest of the article?</description>
    </item>
    
    <item>
      <title>Get-WinEvent - Cmdlet Syntax and Real World Examples</title>
      <link>https://commandline.ninja/get-winevent-syntax/</link>
      <pubDate>Mon, 23 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/get-winevent-syntax/</guid>
      <description>TABLE OF CONTENTS
SYNOPSIS DESCRIPTION SYNTAX REAL-WORLD EXAMPLES SYNOPSIS Gets events from event logs and event tracing log files on local and remote computers. DESCRIPTION The Get-WinEvent cmdlet gets events from event logs, including classic logs, such as the System and Application logs, and the event logs that are generated by the Windows Event Log technology introduced in Windows Vista. It also gets events in log files generated by Event Tracing for Windows (ETW).</description>
    </item>
    
    <item>
      <title>How to set proxy authentication with PowerShell</title>
      <link>https://commandline.ninja/how-to-set-proxy-authentication-with-powershell/</link>
      <pubDate>Wed, 11 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/how-to-set-proxy-authentication-with-powershell/</guid>
      <description>I have struggled in the past to get my PowerShell sessions to connect online at work because my employer uses ZScaler as our web proxy. For those unfamiliar with ZScaler, it is an off-prem (cloud-based) proxy that requires authentication. Our proxy settings are configured via GPO which points to a PAC file set in the IE control panel.
For most things, it just works because most apps these days just pick up the IE control settings and away we go.</description>
    </item>
    
    <item>
      <title>CPU consumed on server by System Interrupts</title>
      <link>https://commandline.ninja/cpu-100-consumed-on-server-by-system-interrupts/</link>
      <pubDate>Mon, 07 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/cpu-100-consumed-on-server-by-system-interrupts/</guid>
      <description>I came across an interesting issue today on one of our production file/print servers running in a remote office. This server is an older server that has been virtualized and is still running Server 2008 - yeah I know it&amp;rsquo;s old, but please don&amp;rsquo;t ask why &amp;hellip;
The issue started first with an end user calling in complaining that many users in the remote office were experiencing slowness opening files from the server in question.</description>
    </item>
    
    <item>
      <title>10 PowerShell commands every admin should know</title>
      <link>https://commandline.ninja/10-powershell-commands-every-admins-should-know/</link>
      <pubDate>Sun, 18 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/10-powershell-commands-every-admins-should-know/</guid>
      <description>originally written by Brien Posey - TechRepublic - March 24th 2011
Over the last few years, Microsoft has been trying to make PowerShell the management tool of choice. Almost all the newer Microsoft server products require PowerShell, and there are lots of management tasks that can&amp;rsquo;t be accomplished without delving into the command line. As a Windows administrator, you need to be familiar with the basics of using PowerShell. Here are 10 commands to get you started.</description>
    </item>
    
    <item>
      <title>Elements</title>
      <link>https://commandline.ninja/elements/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/elements/</guid>
      <description>A paragraph looks like this — Globally incubate standards compliant channels before scalable benefits. Quickly disseminate superior deliverables whereas web-enabled applications. Quickly drive clicks-and-mortar catalysts for change before vertical architectures. Credibly reintermediate backend ideas for cross-platform models. Continually reintermediate integrated processes through technically sound intellectual capital. Holistically foster superior methodologies.
Headings by default: H1 Default styles for headings H2 Default styles for headings H3 Default styles for headings H4 Default styles for headings H5 Default styles for headings H6 Default styles for headings Lists Ordered list example: Morbi lectus risus iaculis vel suscipit turpis quis.</description>
    </item>
    
    <item>
      <title>Featured</title>
      <link>https://commandline.ninja/featured/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/featured/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Get in Touch</title>
      <link>https://commandline.ninja/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/contact/</guid>
      <description>Have questions about something I wrote? Want to know about an upcoming PowerShell event? Send me a message and I&amp;rsquo;ll do my best to respond.
About code help: I get a lot of requests for help debugging scripts or writing custom code. I wish I could help everyone individually, but between work, family, and community stuff, I just don&amp;rsquo;t have the bandwidth. If you need coding help, check out the PowerShell-Help forum.</description>
    </item>
    
    <item>
      <title>Let me help you learn the fundamentals of writing good code!</title>
      <link>https://commandline.ninja/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/about/</guid>
      <description>Hey there! I&amp;rsquo;m Mike Kanakos. Thanks for stopping by.
I&amp;rsquo;ve spent 25 years figuring out enterprise identity and access management—Active Directory, Azure/Entra ID, PKI, SSO, MFA, compliance automation. I lead a team building these systems at scale, and before that, I built automation platforms, passwordless authentication, and SOC2/SOX workflows. But I spent years before that in the trenches—managing Windows servers, configuring applications, handling client issues, living the sysadmin life. Made plenty of mistakes along the way.</description>
    </item>
    
    <item>
      <title>Steal My Code!</title>
      <link>https://commandline.ninja/code-usage/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/code-usage/</guid>
      <description>The Short Version All code on this site is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). That means you can use it, modify it, share it, and even use it commercially—just give credit and indicate if you made changes.
Fair warning: This code is developed and tested in my home lab. What works in my small environment might not be production-ready for your enterprise. Always test before you deploy.</description>
    </item>
    
    <item>
      <title>Videos</title>
      <link>https://commandline.ninja/videos/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://commandline.ninja/videos/</guid>
      <description>Commercials, Music Videos, Television, Film (Short and Feature length), TV News, Corporate video, and everything in between.</description>
    </item>
    
  </channel>
</rss>
