Skip to content

SPFeature

Yorick Kuijs edited this page Sep 14, 2018 · 18 revisions

SPFeature

Parameters

Parameter Attribute DataType Description Allowed Values
Name Key string The name of the feature
FeatureScope Required string The scope to change the feature at - Farm, WebApplication, SiteCollection or Site Farm, WebApplication, Site, Web
Url Key string The URL to change the feature at
Ensure Write string Present if the feature is to be enabled, Absent if it is to be disabled Present, Absent
Version Write string The version of the feature to check against
InstallAccount Write PSCredential POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5

Description

Type: Distributed

This resource is used to make sure that a specific feature is either enabled or disabled at a given URL/scope. The Ensure property will dictate if the feature should be on or off. The name property is the name of the feature based on its folder name in the FEATURES folder in the SharePoint hive

The default value for the Ensure parameter is Present. When not specifying this parameter, the feature is enabled.

Examples

Example 1

This example shows how to enable a site collection scoped feature

    Configuration Example 
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount
        )
        Import-DscResource -ModuleName SharePointDsc

        node localhost {
            SPFeature EnableViewFormsLockDown
            {
                Name                 = "ViewFormPagesLockDown"
                Url                  = "http://www.contoso.com"
                FeatureScope         = "Site"
                PsDscRunAsCredential = $SetupAccount
                Version              = "1.0.0.0"     
            }
        }
    }

Example 2

This example shows how to disable a site collection scoped feature

    Configuration Example 
    {
        param(
            [Parameter(Mandatory = $true)]
            [PSCredential]
            $SetupAccount
        )
        Import-DscResource -ModuleName SharePointDsc

        node localhost {
            SPFeature EnableViewFormsLockDown
            {
                Name                 = "ViewFormPagesLockDown"
                Url                  = "http://www.contoso.com"
                FeatureScope         = "Site"
                Ensure               = "Absent"
                PsDscRunAsCredential = $SetupAccount
                Version              = "1.0.0.0"     
            }
        }
    }
Clone this wiki locally