Manage Windows features via the ServerManager powershell module. Can list available and installed roles/features. Can install and remove roles/features.
Shane Lee <slee@saltstack.com>
Windows Server 2008R2 or greater
PowerShell module ServerManager
Install a feature
Note
Some features require reboot after un/installation, if so until the server is restarted other features can not be installed!
Note
Some features take a long time to complete un/installation, set -t with a long timeout
The name of the feature(s) to install. This can be a single feature, a string of features in a comma delimited list (no spaces), or a list of features.
New in version 2018.3.0: Added the ability to pass a list of features to be installed.
recurse (Options[bool]) -- Install all sub-features. Default is False
restart (Optional[bool]) -- Restarts the computer when installation is complete, if required by the role/feature installed. Will also trigger a reboot if an item in exclude requires a reboot to be properly removed. Default is False
source (Optional[str]) -- Path to the source files if missing from the target system. None means that the system will use windows update services to find the required files. Default is None
exclude (Optional[str]) --
The name of the feature to exclude when installing the named feature. This can be a single feature, a string of features in a comma-delimited list (no spaces), or a list of features.
Warning
As there is no exclude option for the Add-WindowsFeature or Install-WindowsFeature PowerShell commands the features named in exclude will be installed with other sub-features and will then be removed. If the feature named in ``exclude`` is not a sub-feature of one of the installed items it will still be removed.
A dictionary containing the results of the install
CLI Example:
# Install the Telnet Client passing a single string salt '*' win_servermanager.install Telnet-Client # Install the TFTP Client and the SNMP Service passing a comma-delimited # string. Install all sub-features salt '*' win_servermanager.install TFTP-Client,SNMP-Service recurse=True # Install the TFTP Client from d:\side-by-side salt '*' win_servermanager.install TFTP-Client source=d:\\side-by-side # Install the XPS Viewer, SNMP Service, and Remote Access passing a # list. Install all sub-features, but exclude the Web Server salt '*' win_servermanager.install "['XPS-Viewer', 'SNMP-Service', 'RemoteAccess']" True recurse=True exclude="Web-Server"
List available features to install
A list of available features as returned by the Get-WindowsFeature PowerShell command
CLI Example:
salt '*' win_servermanager.list_available
List installed features. Supported on Windows Server 2008 and Windows 8 and newer.
A dictionary of installed features
CLI Example:
salt '*' win_servermanager.list_installed
Remove an installed feature
Note
Some features require a reboot after installation/uninstallation. If one of these features are modified, then other features cannot be installed until the server is restarted. Additionally, some features take a while to complete installation/uninstallation, so it is a good idea to use the -t option to set a longer timeout.
The name of the feature(s) to remove. This can be a single feature, a string of features in a comma delimited list (no spaces), or a list of features.
New in version 2018.3.0: Added the ability to pass a list of features to be removed.
remove_payload (Optional[bool]) -- True will cause the feature to be removed from the side-by-side store (%SystemDrive%:\Windows\WinSxS). Default is False
restart (Optional[bool]) -- Restarts the computer when uninstall is complete, if required by the role/feature removed. Default is False
A dictionary containing the results of the uninstall
CLI Example:
salt -t 600 '*' win_servermanager.remove Telnet-Client
© 2021 SaltStack.
Licensed under the Apache License, Version 2.0.
https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.win_servermanager.html