Thor Logo dbatools

Get-DbaPbmCategory

View Source
Chrissy LeMaire (@cl), netnerds.net
Windows, Linux, macOS

Synopsis

Retrieves Policy-Based Management categories from SQL Server instances for governance and compliance management.

Description

Retrieves all policy categories configured in SQL Server’s Policy-Based Management (PBM) feature. Policy categories help organize and group related policies for easier management and selective enforcement across database environments. This function allows DBAs to inventory existing categories, audit category assignments, and understand which categories mandate database subscriptions for automatic policy evaluation.

Syntax

Get-DbaPbmCategory
    [[-SqlInstance] <DbaInstanceParameter[]>]
    [[-SqlCredential] <PSCredential>]
    [[-Category] <String[]>]
    [[-InputObject] <PSObject[]>]
    [-ExcludeSystemObject]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Get-DbaPbmCategory -SqlInstance sql2016

Returns all policy categories from the sql2016 PBM server

Example: 2
PS C:\> Get-DbaPbmCategory -SqlInstance sql2016 -SqlCredential $cred

Uses a credential $cred to connect and return all policy categories from the sql2016 PBM server

Optional Parameters

-SqlInstance

The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-Category

Filters results to only show specific policy categories by name. Accepts multiple category names for targeted retrieval.
Use this when you need to check specific categories rather than retrieving all configured PBM categories.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-InputObject

Accepts Policy-Based Management store objects from Get-DbaPbmStore for processing categories from specific stores.
Use this when you need to work with categories from a pre-filtered set of PBM stores or when chaining multiple PBM commands together.

PropertyValue
Alias
RequiredFalse
Pipelinetrue (ByValue)
Default Value
-ExcludeSystemObject

Excludes built-in system policy categories from the results, showing only user-created categories.
Use this when you want to focus on custom categories that you or your team have created, filtering out SQL Server’s default categories.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse
-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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse