OSPowerShell.001: Cmdlets — Verb-Noun Commands, Get-Command, Get-Help, and Your First PowerShell Workflow

Two IT professionals working together at a modern workstation beside server racks.

Elementary Overview

PowerShell is built around commands called cmdlets. A cmdlet is a native PowerShell command designed to perform a focused task. Instead of memorizing hundreds of commands, beginners should first learn PowerShell’s naming pattern and the tools PowerShell gives you to discover commands on your own.

This first PowerShell lesson focuses on four ideas: cmdlets use a predictable Verb-Noun naming convention, Get-Command discovers commands, Get-Help explains how to use them, and simple cmdlets such as Get-Process let you practice reading real PowerShell output. Later lessons will cover objects, the pipeline, variables, arrays, operators, conditionals, loops, functions, modules, files, services, remoting, APIs, error handling, and automation.

If you are new to command-line tools, review What Is PATH? and What Is a Script?. PowerShell can run its own commands as well as applications available on the operating system.

What You Should Learn

  • What a PowerShell cmdlet is.
  • Why cmdlet names usually follow the Verb-Noun pattern.
  • How to use Get-Verb to see approved PowerShell verbs.
  • How to use Get-Command to discover commands.
  • How to filter commands by verb, noun, module, or command type.
  • How to use Get-Help to inspect syntax, parameters, and examples.
  • How to run a simple cmdlet such as Get-Process.
  • Why aliases, functions, scripts, applications, and cmdlets are different command types.
  • How to troubleshoot the first common PowerShell command errors.

What A Cmdlet Is

Microsoft defines a cmdlet as a native PowerShell command rather than a stand-alone executable. Cmdlets are commonly delivered through PowerShell modules and are designed to work naturally with PowerShell’s object-based command system.

A cmdlet is only one kind of command PowerShell can run. PowerShell can also expose functions, aliases, scripts, and external applications. That distinction matters because Get-Command can show all of those command types, not only cmdlets.

Get-Command
Get-Command -CommandType Cmdlet

The first command lists commands PowerShell can discover. The second narrows the results to cmdlets. This is a better learning habit than trying to memorize a giant cheat sheet.

CodeLucky — “PowerShell Cmdlets Explained.” A focused introduction to cmdlets and the Verb-Noun naming convention.
A developer working at a modern workstation with softly blurred monitors.
Original BitcoinVersus.Tech lesson image for OSPowerShell.001.

The Verb-Noun Naming Pattern

PowerShell cmdlets normally use a Verb-Noun name. The verb describes the action. The noun describes the resource or concept being acted on.

Get-Process
Get-Service
Start-Service
Stop-Process
New-Item
Remove-Item

That consistency helps you predict command names. If you know PowerShell uses Get for retrieving information and the noun Process for operating-system processes, Get-Process becomes easier to understand before you have ever used it.

Use Get-Verb to inspect the approved PowerShell verbs:

Get-Verb

Approved verbs make command names more predictable across modules. Common beginner verbs include Get, Set, New, Remove, Start, Stop, Test, and Invoke.

Discover Commands With Get-Command

Get-Command is one of the most important cmdlets for a beginner because it lets PowerShell tell you what is available. Microsoft documents that Get-Command can return cmdlets, aliases, functions, filters, scripts, and applications.

Get-Command
Get-Command -Name Get-Process
Get-Command -Name *-Process
Get-Command -Verb Get
Get-Command -Noun Process
Get-Command -CommandType Cmdlet

The wildcard * is especially useful for discovery. If you remember that a command has something to do with processes but cannot remember the exact name, Get-Command *Process* can help you find likely candidates.

You can also search a specific module:

Get-Command -Module Microsoft.PowerShell.Management

This matters because many PowerShell capabilities are organized into modules. You do not need to memorize every module today. Learn to ask PowerShell what commands a module provides.

r/PowerShell beginner discussion: experienced users recommend learning discovery tools such as Get-Command, Get-Help, and Get-Member instead of trying to memorize every command.

Learn A Command With Get-Help

After you discover a command, use Get-Help to learn how to use it. PowerShell help can show the command’s description, syntax, parameters, and examples.

Get-Help Get-Process
Get-Help Get-Process -Examples
Get-Help Get-Process -Detailed
Get-Help Get-Process -Full
Get-Help Get-Process -Online

If local help files are missing or stale, PowerShell may show limited help. On systems where you have the required privileges and network access, Update-Help can refresh help content for supported modules.

Update-Help

Do not treat Get-Help as something you use only when you are stuck. Make it part of the normal workflow: discover the command, inspect its help, read examples, then test it safely.

CodeLucky — “PowerShell Get-Help Command Tutorial.” A practical walkthrough of basic help, examples, detailed help, full help, and online help.

Read PowerShell Command Syntax

PowerShell help often shows one or more syntax lines. At first they can look dense, but you only need a few beginner rules.

  • Text such as -Name is a parameter name.
  • Angle-bracketed type names in documentation describe the kind of value expected.
  • Square brackets in syntax diagrams usually indicate optional syntax.
  • Multiple syntax lines often represent different parameter sets: valid combinations of parameters for the same command.

For a quick syntax-only view, try:

Get-Command Get-Process -Syntax

Then compare it with:

Get-Help Get-Process

Run Your First Useful Cmdlet

Get-Process retrieves information about running processes. It is a good first cmdlet because it produces real system information without changing anything.

Get-Process

You can request a specific process by name when one exists:

Get-Process -Name pwsh

On Windows, you might inspect familiar processes such as Explorer or Notepad when they are running. The available process names depend on the system you are using.

If you want more background on processes, PIDs, CPU, memory, and safe troubleshooting, review OSITC.003: Windows Process Troubleshooting.

CodeLucky — “Get-Process PowerShell Tutorial.” A beginner demonstration of retrieving running processes and narrowing the results.

Cmdlets Return Objects

PowerShell is not only a text shell. Cmdlets commonly return objects with properties and methods. That is one of the biggest differences between PowerShell and many traditional command-line environments.

Get-Process | Get-Member

You do not need to master objects in this first lesson. For now, notice that PowerShell can pass structured information between commands. The next PowerShell lesson is OSPowerShell.002: Objects, where that idea will become the main topic.

Aliases Are Not New Cmdlets

PowerShell includes aliases that provide shorter names for some commands. An alias is not a separate implementation of the command. It is another name that resolves to another command.

Get-Alias
Get-Alias -Name gcm
Get-Command gcm

Aliases can be convenient when working interactively, but full cmdlet names are usually easier to read in lessons, shared scripts, documentation, and team automation. Get-Command helps you see what an alias resolves to.

A Beginner Discovery Workflow

  1. Describe the task. Example: “I need to inspect running processes.”
  2. Search for commands. Try Get-Command *Process*.
  3. Inspect the likely cmdlet. Run Get-Command Get-Process.
  4. Read help. Run Get-Help Get-Process -Examples.
  5. Run a read-only test. Start with Get-Process.
  6. Inspect the output type later. Use Get-Process | Get-Member.
  7. Only then move toward commands that change state. Read help carefully before using verbs such as Remove, Stop, Set, or Restart.

Safety Before State-Changing Cmdlets

Commands beginning with verbs such as Get are often used to retrieve information, while verbs such as Set, Remove, Stop, and Restart can change system state. Do not assume a command is harmless because its name looks familiar. Read the help, understand the target, and use a lab system when learning administrative commands.

If you are studying Windows administration, Windows Server Guide for IT Technicians and Administrators provides broader context for services, processes, networking, storage, security, and automation.

First Troubleshooting Order

  1. Command not found: run Get-Command with the exact name and verify spelling.
  2. Wrong command type: inspect the CommandType returned by Get-Command.
  3. Unknown parameter: check Get-Help CommandName -Full or Get-Command CommandName -Syntax.
  4. Module-specific command missing: verify that the required module is installed and available.
  5. Access denied: determine whether the command requires elevated privileges or a different permission context.
  6. Works on one machine but not another: compare PowerShell version, operating system, installed modules, and available commands.

Mini Lab

  1. Open PowerShell.
  2. Run $PSVersionTable and identify your PowerShell version.
  3. Run Get-Verb.
  4. Run Get-Command -CommandType Cmdlet.
  5. Run Get-Command -Noun Process.
  6. Run Get-Help Get-Process -Examples.
  7. Run Get-Command Get-Process -Syntax.
  8. Run Get-Process.
  9. Run Get-Process | Get-Member and note that the output contains structured members.
  10. Pick one unfamiliar read-only Get- cmdlet and use Get-Help before running it.

Common Beginner Mistakes

  • Trying to memorize every cmdlet: learn discovery first.
  • Assuming every command is a cmdlet: PowerShell can run aliases, functions, scripts, and applications too.
  • Ignoring Verb-Noun naming: the naming convention is one of the fastest ways to predict commands.
  • Skipping Get-Help: help is part of the normal PowerShell workflow.
  • Copying commands blindly: inspect the command and parameters before running state-changing examples.
  • Relying only on aliases: full cmdlet names communicate intent more clearly in shared scripts.
  • Assuming every cmdlet exists everywhere: command availability depends on PowerShell version, operating system, and installed modules.

Knowledge Check + Answers

  1. What is a cmdlet? A native PowerShell command designed to perform a focused task.
  2. What naming pattern do cmdlets normally use? Verb-Noun.
  3. Which cmdlet shows approved PowerShell verbs? Get-Verb.
  4. Which cmdlet discovers commands? Get-Command.
  5. Which cmdlet displays command documentation? Get-Help.
  6. How do you request examples for Get-Process? Get-Help Get-Process -Examples.
  7. Does Get-Command return only cmdlets? No. It can also discover aliases, functions, scripts, applications, and other command types.
  8. What does Get-Process do? Retrieves information about running processes.
  9. Why is Get-Member useful? It reveals the properties, methods, and other members available on PowerShell objects.
  10. What should you do before using a state-changing cmdlet? Read its help, understand the target and parameters, and test safely.

Primary References

Elementary Review

The first PowerShell skill is discovery, not memorization. Learn the Verb-Noun pattern, use Get-Command to find commands, use Get-Help to understand them, and practice first with read-only cmdlets such as Get-Process. Once you understand that cmdlets return structured objects, the PowerShell pipeline begins to make much more sense.

The next canonical PowerShell lesson is OSPowerShell.002: Objects.

Editor’s Note

The featured image is an original 1200×630 BitcoinVersus.Tech photograph created specifically for OSPowerShell.001 and is not reused in the body. The lesson uses a separate original 1200×675 body photograph. The three YouTube videos use responsive native Gutenberg 16:9 embed blocks, and the social item uses a responsive native Gutenberg embed. Ordinary lesson prose is not placed inside bordered, shaded, card, callout, panel, or fixed-width text boxes.

BitcoinVersus.Tech content is provided for informational and educational purposes.

Leave a Reply