▽ 更新履歴
2009/11/07
現状のサービス状態
2009/11/06
追加 最適化前後比較
2009/11/04
追加 サービスの状態を変更
追加 サービスの項目表示自体を削除
定番の高速化だが一応記述
効果は薄いが取りあえず不要なサービスは停止しておけ派
システム構成(ファイル名を指定して実行... > msconfigと入力)でも変更できるが
詳細な解説を見られるので管理ツール > サービスで変更することをオススメ
お決まりですが確実に不要な項目以外を無効にしてしまうとOSが起動できない / 起動後に問題が発生などの可能性があります
OSが起動できない場合はOS起動時にF8を押してSafeモードで起動することで回避可能かも?駄目かも?
必要か不要かわからない場合は項目名 / ファイル名で検索することで関連する情報がわかる可能性があります
取りあえずSuperfetchがVistaの時よりもかなり改善させたと個人的には思う
Windows Event Log(Task Schedulerも不要の場合)は無効してもWindows Updateを実行できました
Windows7 サービス詳細
▽ 停止(無効)したら問題があったサービス
Windows Updateに必要
・Background Intelligent Transfer Service
・Windows Modules Installer
・Windows Update
ネットに繋がらない
・Base Filtering Engine
Windows Aeroに必要
・Desktop Window Manager Session Manager
・Themes
サウンドが再生できない
・Multimedia Class Scheduler
・Power
・Windows Audio
・Windows Audio Endpoint Builder
ローカル共有ができない
・Function Discovery Provider Host
・Function Discovery Resource Publication
・HomeGroup Listener
・Network List Service
・Network Location Awareness
・Network Store Interface Service
・Security Accounts Manager
・Server
・TCP/IP NetBIOS Helper ※こちらから相手のPCへのアクセスに必要
・Workstation
▽ 必要な時にだけ必要なサービスを起動する
一部のサービスは必要な場合にのみ起動することで通常は無効にすることが可能
しかしサービス画面で状態を変更するのは面倒...VBSのスクリプトなどを使用すると楽に切り替え可能

はいでサービスを起動 ※サービスの状態とスタートアップの種類も変更
いいえでサービスを停止
ランチャーに登録して起動すればサービスを簡単に切り替え可能
不要なサービスを一括して無効にすることも可能なので結構便利な使い方も可能
▽ サービスの状態を変更
サービス画面を開いての変更が面倒なのでコマンド プロンプトを使用して変更する書式を記述
この書式をベースにして上記のVBSスクリプトでサービスの切り替えが簡単にできるようになる
不要なサービスだと思い全て停止とかしてしまうと 「もしかしてXXXの起動とか遅くなってるんじゃ...」 など改悪かも?と思うことがあるので
面倒だが一度全てのサービスを初期状態に戻す奴を 不要なサービスを全て停止にする奴を作成しておくと結構便利
サービス数が多いのでスクリプトの作成自体がちょっと面倒 コピペ作業なんだけどね
一部のサービスは一度OSを再起動させないと反映されない場合がある+依存関連のサービスが停止中の場合はもちろん起動できない
コマンド プロンプトを起動
サービスの状態を変更するにはサービス名が必要なので対象のサービスを表示

スタートアップの種類を変更する場合のコマンド
サービスの状態を変更する場合のコマンド
sc config "XXX" start= YYY
XXXはサービス名
YYYで状態 ※このYYYの値の前に半角スペースが入ってることが必需
開始はauto
手動はdemand
無効はdisabled
開始 (遅延開始)はdelayed-auto 遅延開始は一部のサービスでのみ有効
実際に上記NVIDIA Display Driver Serviceサービスのスタートアップの種類を変更させるコマンドは
開始 sc config "nvsvc" start= auto
手動 sc config "nvsvc" start= demand
無効 sc config "nvsvc" start=disabled
開始 (遅延開始) sc config "nvsvc" start= delayed-auto
となる
詳細な解説はsc config /?でヘルプが表示
サービスの状態は上記スタートアップの種類が開始されていないと変更できないので変更前に上記コマンドで開始する必要あり
現在の状態であるサービスの状態を変更させる場合のコマンド
net XXX "YYY"
XXXがサービス名
YYYで状態
開始はstart
停止はstop
一時停止はpause ←↓は一部のサービスでのみ有効
再開はcontinue
実際に上記NVIDIA Display Driver Serviceサービスのスサービスの状態を変更させるコマンドは
net start "nvsvc"
net stop "nvsvc"
net pause "nvsvc"
net pause "continue"
となる
詳細な解説はnet /?でヘルプが表示
一部のサービスは状態が変更できない場合もあり 開始しても即自動で停止するサービスなどもあり
OSを再起動しないと表示が反映されない場合があるので全サービスを切り替える場合は面倒だがOSを再起動することを推奨
上記コマンドを使用して使用する
現在無効で停止しているサービスの開始させる場合のコマンドは
sc config "nvsvc" start= auto
net start "nvsvc"
サービスの状態を変更する為に先にスタートアップの種類を開始させてから状態を開始
面倒だが全てのサービスの状態を変更できるコマンドを記述するといろいろ便利に使えるかも
VBSスクリプトじゃなくただのバッチファイルに記述して使うことも可能
高速化とか微妙なので止めなければこんな無駄な作業しなくてもいい現実...
しかし低スペックほどサービスを対象に停止させるとかなり影響はあるらしい 高スペックで影響は微量な現状...
現在がんばってこの全サービスの状態を変更させる
サービス名一覧を作成中で今後追加予定 表示名とサービス名だけのシンプルな奴
表示名 サービス名 非OS標準のサービスは先頭に左インデントを付けて表示
Acronis Nonstop Backup service afcdpsrv
Acronis Scheduler2 Service AcrSch2Svc
ActiveX Installer (AxInstSV) AxInstSV
Adaptive Brightness SensrSvc
Agnitum Client Security Service acssrv
Application Experience AeLookupSvc
Application Identity AppIDSvc
Application Information Appinfo
Application Layer Gateway Service ALG
Avira AntiVir Guard AntiVirService
Avira AntiVir Scheduler AntiVirSchedulerService
Background Intelligent Transfer Service BITS
Base Filtering Engine BFE
BitLocker Drive Encryption Service BDESVC
Block Level Backup Engine Service wbengine
Bluetooth Support Service bthserv
Certificate Propagation CertPropSvc
CNG Key Isolation KeyIso
COM+ Event System EventSystem
COM+ System Application COMSysApp
Computer Browser Browser
Credential Manager VaultSvc
Cryptographic Services CryptSvc
DCOM Server Process Launcher DcomLaunch
Desktop Window Manager Session Manager UxSms
DHCP Client Dhcp
Diagnostic Policy Service DPS
Diagnostic Service Host WdiServiceHost
Diagnostic System Host WdiSystemHost
Disk Defragmenter defragsvc
Distributed Link Tracking Client TrkWks
Distributed Transaction Coordinator MSDTC
DNS Client Dnscache
eBoostr Service EBOOSTRSVC
Encrypting File System (EFS) EFS
Extensible Authentication Protocol EapHost
FLEXnet Licensing Service FLEXnet Licensing Service
FLEXnet Licensing Service 64 FLEXnet Licensing Service 64
Function Discovery Provider Host fdPHost
Function Discovery Resource Publication FDResPub
Group Policy Client gpsvc
Health Key and Certificate Management hkmsvc
HomeGroup Listener HomeGroupListener
HomeGroup Provider HomeGroupProvider
Human Interface Device Access hidserv
IKE and AuthIP IPsec Keying Modules IKEEXT
Interactive Services Detection UI0Detect
Internet Connection Sharing (ICS) SharedAccess
IP Helper iphlpsvc
IPsec Policy Agent PolicyAgent
KtmRm for Distributed Transaction Coordinator KtmRm
Link-Layer Topology Discovery Mapper lltdsvc
Logitech Bluetooth Service LBTServ
Microsoft .NET Framework NGEN v2.0.50727_X64 clr_optimization_v2.0.50727_64
Microsoft .NET Framework NGEN v2.0.50727_X86 clr_optimization_v2.0.50727_32
Microsoft iSCSI Initiator Service MSiSCSI
Microsoft Office Diagnostics Service odserv
Microsoft Software Shadow Copy Provider swprv
Multimedia Class Scheduler MMCSS
Netlogon Netlogon
Network Access Protection Agent napagent
Network Connections Netman
Network List Service netprofm
Network Location Awareness NlaSvc
Network Store Interface Service nsi
NVIDIA Display Driver Service nvsvc
Office Source Engine ose
Parental Controls WPCSvc
PDAgent PDAgent
PDEngine PDEngine
Peer Name Resolution Protocol PNRPsvc
Peer Networking Grouping p2psvc
Peer Networking Identity Manager p2pimsvc
Performance Counter DLL Host PerfHost
Performance Logs & Alerts pla
Plug and Play PlugPlay
PnP-X IP Bus Enumerator IPBusEnum
PNRP Machine Name Publication Service PNRPAutoReg
Portable Device Enumerator Service WPDBusEnum
Power Power
Print Spooler Spooler
Problem Reports and Solutions Control Panel Support wercplsupport
Program Compatibility Assistant Service PcaSvc
Protected Storage ProtectedStorage
Quality Windows Audio Video Experience QWAVE
Remote Access Auto Connection Manager RasAuto
Remote Access Connection Manager RasMan
Remote Desktop Configuration SessionEnv
Remote Desktop Services TermService
Remote Procedure Call (RPC) RpcSs
Remote Procedure Call (RPC) Locator RpcLocator
Remote Registry RemoteRegistry
Routing and Remote Access RemoteAccess
RPC Endpoint Mapper RpcEptMapper
Secondary Logon seclogon
Secure Socket Tunneling Protocol Service SstpSvc
Security Accounts Manager SamSs
Security Center wscsvc
Server LanmanServer
Shell Hardware Detection ShellHWDetection
Smart Card SCardSvr
Smart Card Removal Policy SCPolicySvc
SNMP Trap SNMPTRAP
Software Protection sppsvc
SPP Notification Service sppuinotify
SSDP Discovery SSDPSRV
Superfetch SysMain
System Event Notification Service SENS
Tablet PC Input Service TabletInputService
Task Scheduler Schedule
TCP/IP NetBIOS Helper lmhosts
Telephony TapiSrv
Themes Themes
Thread Ordering Server THREADORDER
TPM Base Services TBS
UPnP Device Host upnphost
User Profile Service ProfSvc
Virtual Disk vds
Volume Shadow Copy VSS
WebClient WebClient
Windows Audio AudioSrv
Windows Audio Endpoint Builder AudioEndpointBuilder
Windows Backup SDRSVC
Windows Biometric Service
Windows Color System WcsPlugInService
Windows Connect Now - Config Registrar wcncsvc
Windows Defender WinDefend
Windows Driver Foundation - User-mode Driver Framework wudfsvc
Windows Error Reporting Service WerSvc
Windows Event Collector Wecsvc
Windows Event Log eventlog
Windows Firewall MpsSvc
Windows Font Cache Service FontCache
Windows Image Acquisition (WIA) stisvc
Windows Installer msiserver
Windows Management Instrumentation Winmgmt
Windows Media Player Network Sharing Service WMPNetworkSvc
Windows Modules Installer TrustedInstaller
Windows Remote Management (WS-Management) WinRM
Windows Search WSearch
Windows Time W32Time
Windows Update wuauserv
WinHTTP Web Proxy Auto-Discovery Service WinHttpAutoProxySvc
Wired AutoConfig dot3svc
WLAN AutoConfig Wlansvc
WMI Performance Adapter wmiApSrv
Workstation Workstation
▽ サービスの項目表示自体を削除
サービスの一覧(上記 現状のサービス状態の画像)から削除するコマン
削除=レジストリの関連項目が削除されてそのサービスがOS標準の場合は再度追加することはかなり面倒
ツールなどにより後から追加されたサービスは削除しても再度ツールを上書きインストールを行うことが可能なので特に問題なし
コマンド プロンプトを起動
net stop "XXX"
sc delete "XXX"
XXXはサービス名で先にサービスの状態を停止してからsc deleteで削除
詳細な解説はsc /?でヘルプが表示
個人的にはOS標準のサービスを削除することはオススメできない 無理して削除するまでもないと思う
削除レジストリを復元される方法の1つの方法は(項目削除前に実行)
1 CCleanerなどのレジストリクリーナでレジストリの掃除を行う 数度実行して削除項目がなくなるまで実行
2 上記サービス項目削除を実行
3 再度CCleanerでレジストリの掃除を行う この削除レジストリのバックアップが関連レジストリ
4 このレジストリを復元すると再びサービスが使用できるようになるかも?場合により駄目な場合は諦めてください
▽ 現状のサービス状態

状態が開始中のサービスのみリストアップで背景色が赤色はOS標準のサービスではない(ツール等により追加された)
不要物は全て無効と最適化を実行してみた結果(上記画像よりも更に無効へ)
体感での高速化は効果なし 起動プロセス数は若干減ったが消費メモリ量なども小減
結論 開始中のサービスで不要な項目のみ無効にするだけで十分 (低スペックは除く)
ローカル共有には10つほどサービスが常駐するので必要な時にのみ下記スクリプトを使用して起動させて使用中
▽ 関連項目
Windows7総合
Windows7 サービス詳細