Examples/xService_CreateServiceConfigGroupManagedServiceAccount.ps1
<#PSScriptInfo
.VERSION 1.0.0 .GUID 9c377df3-c4d5-4cbd-b631-78e320bdcdd9 .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 Configuration that creates a new Windows service from an executable and uses a Group Managed Service Account to start the service. .DESCRIPTION Configuration that creates a new Windows service from an executable. The executable must be built to run as a Windows service. .PARAMETER Path The path to the executable for the Windows service. .PARAMETER Name The name of the Windows service to be created. .PARAMETER GroupManagedServiceAccount The name of the GroupManagedServiceAccount to run the service. .EXAMPLE $gmsaSplat = @{ Path = 'C:\FilePath\MyServiceExecutable.exe' Name = 'Service1' GroupManagedServiceAccount = 'DOMAIN\gMSA$' } xService_CreateServiceConfigGroupManagedServiceAccount @gmsaSplat Compiles a configuration that creates a new service with the name Service1 using the executable path 'C:\FilePath\MyServiceExecutable.exe'. If the service with the name Service1 already exists and the executable path is different, then the executable will be changed for the service. The service is started by default if it is not running already. The user DOMAIN\gMSA$ is used to start the service, the username could also be provided in UPN format (gMSA$@domain.fqdn). #> Configuration xService_CreateServiceConfigGroupManagedServiceAccount { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [System.String] $Path, [Parameter(Mandatory = $true)] [System.String] $Name, [Parameter(Mandatory = $true)] [System.String] $GroupManagedServiceAccount ) Import-DscResource -ModuleName 'xPSDesiredStateConfiguration' Node localhost { xService 'CreateService' { Name = $Name Ensure = 'Present' Path = $Path GroupManagedServiceAccount = $GroupManagedServiceAccount } } } |