Services are designed to be system-wide so that they run even when no one is logged in. That is why people use tools like FireDaemon to make some programs run as services.
For defragging and some other purposes, I often want to run a "minimal" system and have a couple ways I go about that. One is to use
SmartClose. When finally configured, it will close all the programs and services that you want closed and then restart them when you are done. Services need to be in the correct order so that dependencies are considered.
Another program called "Custom Startup" is very useful because you can make "profiles" of what group of programs you want to run when you boot up. Not free.
Another thing you can do is to create a batch file that closes unneeded services and then restarts them. Here is an example:
net stop acrsch2svc
net stop aelookupsvc
net stop avg7alrt
net stop NfsClnt
net stop avg7updsvc
net stop bits
net stop bfe
net stop keyiso
net stop eventsystem
net stop browser
net stop cryptsvc
net stop cmdagent
net stop uxsms
net stop dhcp
net stop dps
net stop WdiSystemHost
net stop TrkWks
net stop Dnscache
net stop EapHost
net stop fdPHost
net stop FDResPub
net stop IKEEXT
net stop iphlpsvc
net stop PolicyAgent
net stop KtmRm
net stop MMCSS
net stop NetTcpActivator
net stop NetPipeActivator
net stop NetTcpPortSharing
net stop Netman
net stop netprofm
net stop NlaSvc
net stop nsi
net stop CscService
net stop WPDBusEnum
net stop "Posadis 0.60.6"
net stop Spooler
net stop PcaSvc
net stop ProtectedStorage
net stop EMDMgmt
net stop SbieSvc
net stop seclogon
net stop wscsvc
net stop LanmanServer
net stop RasMan
net stop ShellHWDetection
net stop slsvc
net stop SSDPSRV
net stop WindowBlinds
net stop SysMain
net stop SENS
net stop TabletInputService
net stop lmhosts
net stop TapiSrv
net stop TermService
net stop Themes
net stop upnphost
net stop ProfSvc
net stop VMAuthdService
net stop VMnetDHCP
net stop "VMware NAT Service"
net stop vmount2
net stop WebClient
net stop Audiosrv
net stop AudioEndpointBuilder
net stop WerSvc
net stop Eventlog
net stop MpsSvc
net stop Winmgmt
net stop TrustedInstaller
net stop WAS
net stop WSearch
net stop W32Time
net stop wuauserv
net stop WinHttpAutoProxySvc
net stop LanmanWorkstation
For restarting, just replace each "stop" with "start".
By the way, NEVER use msconfig to control services. In fact, msconfig should only be used for diagnostic purposes so that you do not need to run in "selective" startup. Use the services console to control services, and use a good startup manager for user programs. Errors in msconfig are also frequent and unbootable systems can result.
Startup Control Panel
MZ Startup Manager
Startup Control Panel (Exe version for Vista
Emsa Startup Manager
EM Startup Manager
WheresJames Startup Manager