xWindowsFeature_RemoveFeatureConfig.ps1

<#PSScriptInfo
.VERSION 1.0.0
.GUID 281e1f4d-d196-4d0c-9444-bc40ec6ff9de
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT
.TAGS DSCConfiguration
.LICENSEURI https://github.com/PowerShell/xPSDesiredStateConfiguration/blob/master/LICENSE
.PROJECTURI https://github.com/PowerShell/xPSDesiredStateConfiguration
.ICONURI
.EXTERNALMODULEDEPENDENCIES xPSDesiredStateConfiguration
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>


#Requires -module @{ModuleName = 'xPSDesiredStateConfiguration';ModuleVersion = '8.2.0.0'}

<#
    .SYNOPSIS
        Configuration that removes a role or feature.
 
    .DESCRIPTION
        Configuration that removes a role or feature.
 
    .PARAMETER Name
        Name of the role or feature that you want to ensure is removed.
        This is the same as the Name parameter from the Get-WindowsFeature
        cmdlet, and not the display name of the role or feature.
 
    .PARAMETER IncludeAllSubFeature
        Set this parameter to $true to ensure the state of all required
        sub-features with the state of the feature you specify with the Name
        parameter. The default value is $false.
 
    .EXAMPLE
        xWindowsFeature_RemoveFeatureConfig -Name 'Telnet-Client' -IncludeAllSubFeature $false
 
        Compiles a configuration that adds the feature Telnet-Client.
#>

Configuration xWindowsFeature_RemoveFeatureConfig
{
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory = $true)]
        [System.String]
        $Name,

        [Parameter()]
        [System.Boolean]
        $IncludeAllSubFeature
    )

    Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'

    Node localhost
    {
        xWindowsFeature 'RemoveFeature'
        {
            Name                 = $Name
            Ensure               = 'Absent'
            IncludeAllSubFeature = $IncludeAllSubFeature
        }
    }
}