function Get-WindowsServiceUser { <# .SYNOPSIS Returns the username which runs a particular service #> param( [string]$ServiceName ) $service = Get-Service -Name $ServiceName -ComputerName . -ErrorAction SilentlyContinue if ($null -eq $service) { Write-Warning ("Service [{0}] could not be located." -f $ServiceName) return $null } $serviceAccount = (Get-CIMInstance Win32_Service -Filter ("Name = '{0}'" -f $service.Name)).StartName; return $serviceAccount }