forked from dsccommunity/xPSDesiredStateConfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxWindowsOptionalFeature_DisableConfig.ps1
More file actions
71 lines (60 loc) · 2.05 KB
/
xWindowsOptionalFeature_DisableConfig.ps1
File metadata and controls
71 lines (60 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<#PSScriptInfo
.VERSION 1.0.1
.GUID 4671e4f7-7ba5-4736-8a29-d439db3d9bb7
.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
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>
#Requires -module @{ModuleName = 'xPSDesiredStateConfiguration';ModuleVersion = '8.2.0.0'}
<#
.SYNOPSIS
Disables a Windows optional feature.
.DESCRIPTION
Disables the Windows optional feature with the specified name and outputs
a log to the specified path. When the optional feature is disabled, the
files associated with the feature will also be removed.
.PARAMETER Name
The name of the Windows optional feature to disable.
.PARAMETER LogPath
The path to the file to log the disable operation to.
.NOTES
Can only be run on Windows client operating systems and Windows Server 2012
or later.
The DISM PowerShell module must be available on the target machine.
.EXAMPLE
xWindowsOptionalFeature_DisableConfig -Name 'SMB1Protocol' -LogPath 'c:\log\feature.log'
Compiles a configuration that ensures that the SMB1Protocol optional
feature is disabled, and logs the operation to 'C:\log\feature.log'.
#>
Configuration xWindowsOptionalFeature_DisableConfig
{
param
(
[Parameter(Mandatory = $true)]
[String]
$Name,
[Parameter(Mandatory = $true)]
[String]
$LogPath
)
Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'
Node localhost
{
xWindowsOptionalFeature 'DisableOptionalFeature'
{
Name = $Name
Ensure = 'Absent'
LogPath = $LogPath
RemoveFilesOnDisable = $true
}
}
}