salt.modules.win_servermanager#
Manage Windows features via the ServerManager powershell module. Can list available and installed roles/features. Can install and remove roles/features.
- maintainer:
Shane Lee <slee@saltstack.com>
- platform:
Windows Server 2008R2 or greater
- depends:
PowerShell module
ServerManager
- salt.modules.win_servermanager.install(feature, recurse=False, restart=False, source=None, exclude=None)#
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
- Parameters:
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 (
bool, optional) --Install all sub-features.
Default is
False.restart (
bool, optional) --Restarts the computer when installation is complete, if required by the role/feature installed. Will also trigger a reboot if an item in
excluderequires a reboot to be properly removed.Default is
False.source (
str, optional) --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 (
str, optional) --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-WindowsFeatureorInstall-WindowsFeaturePowerShell commands the features named inexcludewill 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.Default is
None.
- Returns:
A dictionary containing the results of the install
- Return type:
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"
- salt.modules.win_servermanager.list_available()#
List available features to install
- Returns:
A list of available features as returned by the
Get-WindowsFeaturePowerShell command- Return type:
CLI Example:
salt '*' win_servermanager.list_available
- salt.modules.win_servermanager.list_installed()#
List installed features. Supported on Windows Server 2008 and Windows 8 and newer.
- Returns:
A dictionary of installed features
- Return type:
CLI Example:
salt '*' win_servermanager.list_installed
- salt.modules.win_servermanager.remove(feature, remove_payload=False, restart=False)#
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
-toption to set a longer timeout.- Parameters:
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 (
bool, optional) --True will cause the feature to be removed from the side-by-side store (
%SystemDrive%:\Windows\WinSxS).Default is
False.restart (
bool, optional) --Restarts the computer when uninstall is complete, if required by the role/feature removed.
Default is
False.
- Returns:
A dictionary containing the results of the uninstall
- Return type:
CLI Example:
salt -t 600 '*' win_servermanager.remove Telnet-Client