Process - PowerShell


Overview

The Process command in PowerShell allows you to manage running processes on the local or remote computers. It provides a powerful interface to access process information, terminate processes, and manipulate their properties.

Syntax

Process [[-Command] <string>] [[-ComputerName] <string>] [[-DisplayName] <string>] [[-Id] <int>]
[-Name <string>] [-NoWait] [-PassThru] [[-SessionId] <int>] [-Wait] [-WhatIf] [-Confirm] [<CommonParameters>]

Options/Flags

  • -Command: Filters processes based on the command-line command they are executing.
  • -ComputerName: Specifies the remote computer to manage processes on.
  • -DisplayName: Filters processes based on their display name.
  • -Id: Filters processes based on their process ID.
  • -Name: Filters processes based on their name.
  • -NoWait: Terminates the process without waiting for it to exit.
  • -PassThru: Returns the process object instead of just terminating it.
  • -SessionId: Filters processes based on their session ID.
  • -Wait: Waits for the process to exit before returning.
  • -WhatIf: Shows what would happen if the command was executed without actually performing the action.
  • -Confirm: Prompts for confirmation before terminating the process.

Examples

Simple usage:

Get-Process

Lists all running processes.

Filter processes by name:

Get-Process -Name notepad

Lists all processes with the name “notepad”.

Terminate a process:

Stop-Process -Id 1234

Terminates the process with ID 1234.

Get detailed process information:

Get-Process -Id 1234 -PassThru | Format-List

Displays detailed information about the process with ID 1234.

Chain commands to pipe process output:

Get-Process | Sort-Object Name | Where-Object { $_.Name -eq "powershell" }

Sorts running processes by name, then filters only the processes with the name “powershell”.

Common Issues

  • Access denied: Ensure you have sufficient permissions to manage processes on the targeted computer.
  • Process not found: Verify if the process ID or name provided is correct.
  • Invalid syntax: Check the command syntax carefully, especially when using multiple filters or flags.

Integration

  • Remote management: Use the -ComputerName parameter to manage processes on remote computers.
  • PSWorkflow Workflow Automation: Use the Start-Process cmdlet to launch new processes within PowerShell workflows.
  • Scheduled Tasks: Create scripts using the Process command to automate process management tasks.
  • Start-Process: Launches a new process.
  • Stop-Process: Terminates a running process.
  • Where-Object: Filters objects based on a specified condition.
  • Format-List: Formats and displays object properties.