---
title: "Get-DbaPowerPlan"
description: "Retrieves Windows Power Plan configuration from SQL Server hosts to verify High Performance settings."
url: "https://dbatools.io/Get-DbaPowerPlan/"
availability: "Windows only"
tags: ["PowerPlan", "Utility"]
author: "Chrissy LeMaire (@cl), netnerds.net"
source: "https://github.com/dataplat/dbatools/blob/master/public/Get-DbaPowerPlan.ps1"
last_updated: "2024-01-01"
---

# Get-DbaPowerPlan

## Synopsis

Retrieves Windows Power Plan configuration from SQL Server hosts to verify High Performance settings.

## Description

Checks the active Windows Power Plan configuration on SQL Server host computers to ensure they follow performance best practices. SQL Server performance can be significantly impacted by power management settings that throttle CPU frequency or put processors to sleep during idle periods.  
  
By default, returns the currently active power plan for each specified computer. Use the -List parameter to view all available power plans and their status. Microsoft recommends using the "High Performance" power plan for SQL Server hosts to prevent CPU throttling and ensure consistent database performance.

## Syntax

```powershell
Get-DbaPowerPlan
    [-ComputerName] <DbaInstanceParameter[]>
    [[-Credential] <PSCredential>]
    [-List]
    [-EnableException]
    [<CommonParameters>]

```

## Examples

### Example 1: Gets the Power Plan settings for sql2017

```powershell
PS C:\> Get-DbaPowerPlan -ComputerName sql2017
```

### Example 2: Gets the Power Plan settings for sql2017 using an alternative credential

```powershell
PS C:\> Get-DbaPowerPlan -ComputerName sql2017 -Credential ad\admin
```

### Example 3: Gets all available Power Plans on sql2017

```powershell
PS C:\> Get-DbaPowerPlan -ComputerName sql2017 -List
```

### Required Parameters

##### -ComputerName

Specifies the SQL Server host computer(s) to check for Windows Power Plan configuration. Accepts multiple server names for bulk power plan auditing.  
Use this to verify that your SQL Server hosts are configured with the recommended "High Performance" power plan instead of "Balanced" or "Power Saver" modes that can throttle CPU performance.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | True |
| Pipeline | true (ByValue) |
| Default Value |  |

### Optional Parameters

##### -Credential

Specifies a PSCredential object to use in authenticating to the server(s), instead of the current user account.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -List

Returns all available power plans on the target computers instead of just the currently active plan. Shows the status of each plan including which one is active.  
Use this when you need to see all power plan options available on a server before making configuration changes or to audit power plan availability across your environment.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

##### -EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.  
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.  
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

## Outputs

**PSCustomObject**

**Default output (when -List is not specified):**

Returns one object per computer queried, showing the currently active power plan.

**Properties:**

- ComputerName: The SQL Server host computer name
- PowerPlan: Name of the currently active power plan (e.g., "High Performance", "Balanced", "Power saver"); shows "Unknown" if detection fails

**When -List is specified:**

Returns one object per available power plan on each computer, showing all power plans and which one is active.

**Properties:**

- ComputerName: The SQL Server host computer name
- PowerPlan: Name of the power plan
- IsActive: Boolean indicating if this power plan is currently active (True or False)

---

Part of [dbatools](https://dbatools.io/), a free and open source PowerShell module for SQL Server administration. Full command index: https://dbatools.io/commands/
