I find myself wanting to know this all to often, this is one of the first things I check when there is an issue with a service that a server is hosting. The below function will help you find out any and all services that have been configured to start automatically but are currently stopped or not running.
Copy\Paste the below code into a PowerShell window.
<# .CREATED BY: Matthew A. Kerfoot .CREATED ON: 10\29\2013 .Synopsis Finds Services set to start automatically but are stopped .DESCRIPTION This function will find all services that are set to start automatically at startup but are not currently running. .EXAMPLE Get-Stopped -ComputerName localhost | Out-file "$env:USERPROFILE\Desktop\StoppedServices.txt" #> function Get-Stopped { [CmdletBinding()] Param ( [Parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, Position=0)] $Computername ) Begin { $Obj = Get-WmiObject -Class Win32_Service } Process { $Stopped = $Obj | Where-Object { ($_.StartMode -eq "Auto") -and ($_.State -eq "Stopped") } | Select-Object Name, DisplayName, StartMode, State, Description } End { $Stopped | Format-Table -AutoSize } }Hit Enter a couple times and then type 'Get-Stopped' to get a table of all service that are set to start when windows boots yet are not running.
PS [www.matthewkerfoot.com]> Get-Stopped Name DisplayName StartMode State Description ---- ----------- --------- ----- ----------- gupdate Google Update Service (gupdate) Auto Stopped Keeps your Google software up to d RemoteRegistry Remote Registry Auto Stopped Enables remote users to modify reg SCardSvr Smart Card Auto Stopped Manages access to smart cards read sppsvc Software Protection Auto Stopped Enables the download, installation wuauserv Windows Update Auto Stopped Enables the detection, download, a PS [www.matthewkerfoot.com]>Now you can restart any service you feel should be running for example to start the Windows Update service just type, 'Get-Service -Name wuauserv | Start-Service -Verbose'.