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.
Related Commands
- 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.