Get-ControlPanelItem

Gets control panel items.

Syntax

Get-ControlPanelItem
   [[-Name] <String[]>]
   [-Category <String[]>]
   [<CommonParameters>]
Get-ControlPanelItem
   -CanonicalName <String[]>
   [-Category <String[]>]
   [<CommonParameters>]

Description

The Get-ControlPanelItem cmdlet gets control panel items on the local computer. You can use it to find control panel items by name, category, or description, even on systems that do not have a user interface.

This cmdlet gets only the control panel items that can be opened on the system. On computers that do not have Control Panel or File Explorer, this cmdlet gets only control panel items that can open without these components.

This cmdlet was introduced in Windows PowerShell 3.0. It works only on Windows 8 and Windows Server 2012 and newer.

Examples

Example 1: Get all control panel items

This command gets all control panel items on the local computer.

Get-ControlPanelItem

Name                          CanonicalName                 Category                      Description
----                          -------------                 --------                      -----------
Action Center                 Microsoft.ActionCenter        {System and Security}         Review recent messages and...
Administrative Tools          Microsoft.AdministrativeTools {System and Security}         Configure administrative s...
AutoPlay                      Microsoft.AutoPlay            {Hardware}                    Change default settings fo...
BitLocker Drive Encryption    Microsoft.BitLockerDriveEn... {System and Security}         Protect your computer usin...
Color Management              Microsoft.ColorManagement     {All Control Panel Items}     Change advanced color mana...
Credential Manager            Microsoft.CredentialManager   {User Accounts}               Manage your Windows Creden...
Date and Time                 Microsoft.DateAndTime         {Clock, Language, and Region} Set the date, time, and ti...
...

Example 2: Get control panel items by name

This example gets control panel items that have Program or App in their names.

Get-ControlPanelItem -Name "*Program*", "*App*"

Example 3: Get control panel items by category

This command gets all control panel items in categories that have Security in their names.

Get-ControlPanelItem -Category "*Security*"

Example 4: Open a control panel item

This example opens the Windows Firewall control panel item on the local computer.

Get-ControlPanelItem -Name "Windows Firewall" | Show-ControlPanelItem

The Get-ControlPanelItem cmdlet gets the control panel item. The Show-ControlPanelItem cmdlet opens it.

Example 5: Get control panel items on a remote computer

This example gets the BitLocker Drive Encryption control panel item on the Server01 remote computer. The Invoke-Command cmdlet runs the Get-ControlPanelItem cmdlet remotely.

Invoke-Command -ComputerName "Server01" {Get-ControlPanelItem -Name "BitLocker*" }

Example 6: Search the descriptions of control panel items

This example searches the Description property of the control panel items to get only those that contain the name Device.

Get-ControlPanelItem | Where-Object {$_.Description -like "*Device*"}

Name                    CanonicalName                 Category    Description
----                    -------------                 --------    -----------
AutoPlay                Microsoft.AutoPlay            {Hardware}  Change default settings fo...
Devices and Printers    Microsoft.DevicesAndPrinters  {Hardware}  View and manage devices, p...
Sound                   Microsoft.Sound               {Hardware}  Configure your audio devic...

The Get-ControlPanelItem cmdlet gets all control panel items. The Where-Object cmdlet filters the items by the value of the Description property.

Parameters

-CanonicalName

Specifies, as a string array, the control panel items by their canonical names or name patterns that this cmdlet gets. Wildcards are permitted. If you enter multiple names, this cmdlet gets control panel items that match any of the names, as though the items in the name list were separated by an "or" operator.

By default, this cmdlet gets all control panel items in the system.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Category

Specifies, as a string array, the categories of the control panel items in the specified categories that this cmdlet gets. Enter a category name or name pattern. Wildcards are permitted. If you enter multiple names, this cmdlet gets control panel items that match any of the names, as though the items in the name list were separated by an "or" operator. By default, this cmdlet gets all control panel items in the system.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

Specifies, as a string array, the names or name patterns of the control panel that this cmdlet gets. Wildcards are permitted. You can also pipe a name or name pattern to this cmdlet.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Inputs

String

You can pipe a name or name pattern to this cmdlet.

Outputs

ControlPanelItem

This cmdlet gets control panel items on the local computer.