熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

明白服務中的瑞士軍刀----sc詳解

2022-06-13   來源: Windows系統管理 

  SC與服務控制器和已安裝設備通訊SCexe 檢索和設置有關服務的控制信息可以使用 SCexe 來測試和調試服務程序可以設置存儲在注冊表中的服務屬性來控制如何在啟動時和作為後台程序運行時啟動服務應用程序SCexe 的參數可以配置指定的服務檢索當前服務的狀態也可以停止和啟動服務可以生成批處理文件來調用不同的 SCexe 命令以自動啟動或關閉服務序列SCexe 提供的功能類似於控制面板管理工具項中的服務
  
  有關命令的語法請單擊下面任一 sc 命令
  
  sc boot
  
  表明最近的啟動是否應該存儲為上次已知的正常配置
  
  語法
  sc [ServerName] boot [{bad|OK}]
  
  參數
  ServerName
  指定服務所在的遠程服務器名稱名稱必須采用通用的命名慣例 (UNC) 格式(\\myserver若要在本機上運行 SCexe請忽略此參數
  [{bad|OK}]
  指定最近的啟動是否錯誤或它是否應該存儲為上次已知的正常配置
  /?
  在命令提示符顯示幫助
  范例
  下面的范例顯示了如何使用 sc boot 命令
  
  sc boot ok
  sc boot bad
  
  sc config
  
  修改注冊表和服務控制管理器數據庫中的服務項的值
  
  語法
  sc [ServerName] config [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password]
  
  參數
  ServerName
  指定服務所在的遠程服務器名稱名稱必須采用通用的命名慣例(UNC)格式(\\myserver若要在本機上運行 SCexe請忽略此參數
  ServiceName
  指定由 getkeyname 操作返回的服務名
  type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}
  指定該服務類型 值 說明
  own 服務以其自身的進程運行不與其它服務共享可執行文件這是默認設置
  share 服務作為共享進程運行它與其它服務共享一可執行文件
  kernel 驅動程序
  filesys 文件系統驅動程序
  rec 文件系統識別驅動器(表示計算機上使用的文件系統)
  adapt 適配器驅動器(表示鍵盤鼠標磁盤驅動器這樣的硬件項)
  interact 服務可以與桌面交互作用接收用戶的輸入交互服務必須以在 LocalSystem 帳戶下運行該類型必須與 type= own 或 type= shared(例如 type= interact type= own)結合使用自身使用 type= interact 將會產生一個無效參數錯誤
  
  start= {boot|system|auto|demand|disabled}
  指定服務的起始類型 值 說明
  boot 由啟動引導程序加載的設備驅動器
  system 在核心初始化過程中啟動的設備驅動器
  auto 每次計算機重新啟動時甚至沒有人登錄計算機時都能自動開始的服務
  demand 必須手動啟動的服務如果沒有指定start=這就默認值
  disabled 不能啟動的服務要啟動一個禁用的服務把啟動類型更改為其他值
  
  error= {normal|severe|critical|ignore}
  如果在啟動中服務器啟動失敗則指定錯誤的嚴重性 值 說明
  normal 將記錄錯誤並且顯示消息對話框通知用戶服務啟動失敗啟動將會繼續這是默認設置
  severe 記錄錯誤(如果存在)計算機嘗試以最新的有效配置重新啟動這可能是由於計算機能夠重新啟動但服務器卻仍然不能運行
  critical 記錄錯誤(如果存在)計算機嘗試以最新的有效配置重新啟動如果上次已知正常的配置失敗啟動也將失敗啟動過程就會以藍屏錯誤而停止
  ignore 錯誤已記錄啟動繼續記錄錯誤超出在事件日志的范圍不再給用戶作出提示
  
  binpath= BinaryPathName
  指定一個進入服務二進制文件的路徑
  group= LoadOrderGroup
  指定一個該服務為其中成員的組名組列表儲存在注冊中的 HKLM\System\CurrentControlSet\Control\ServiceGroupOrder 子項中默認設置為空值
  tag= {yes | no}
  指定是否在CreateService調用中獲得 TagID標記僅用於根啟動或系統啟動驅動程序
  depend= dependencies
  指定必須在此項服務之前啟動的服務名或組名前面斜線 (/) 分離開來的名字
  obj= {AccountName|ObjectName}
  指定一個將運行的服務的賬戶名或指定一個將會運行的驅動程序的 Windows 驅動程序對象名默認設置為 LocalSystem
  displayname= DisplayName
  指定一個可以在用戶界面程序用來為用戶標識服務的友好的有意義的名稱例如一項服務的子項名是對用戶沒有幫助的 wuauserv而顯示的名稱是自動更新
  password:password
  指定一個密碼如果使用了一個不是 LocalSystem 的帳戶則此項是必需的
  /?
  在命令提示符顯示幫助
  注釋
  如果參數及其值之間沒有空格(例如是 type= own 而不是 type=own)則操作會失敗
  范例
  下面范例顯示了如何使用 sc config 命令
  
  sc config NewService binpath= ntsd d c:\windows\system\NewServexe
  
  sc continue
  
  為了繼續暫停的服務要給服務發送一個 CONTINUE 控制請求
  
  語法
  sc [ServerName] continue [ServiceName]
  
  參數
  ServerName
  指定服務所在的遠程服務器名稱該名稱必須使用 UNC 格式 (\\myserver)若要在本機上運行 SCexe請忽略此參數
  ServiceName
  指定由 getkeyname 操作返回的服務名
  /?
  在命令提示符顯示幫助
  注釋
  使用 continue 操作來繼續暫停的服務
  范例
  下面的范例顯示了如何使用 sc continue 命令
  
  sc continue tapisrv
  
  sc control
  
  發送給服務CONTROL B
  
  語法
  sc [ServerName] control [ServiceName] [{paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB}]
  
  參數
  ServerName
  指定服務所在的遠程服務器名稱該名稱必須使用 UNC 格式 (\\myserver)若要在本機上運行 SCexe請忽略此參數
  ServiceName
  指定由 getkeyname 操作返回的服務名
  {paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB}
  指定要發送到服務的控制
  /?
  在命令提示符顯示幫助
  sc create
  
  為服務在注冊表和服務控制管理器中創建子項和入口
  
  語法
  sc [ServerName] create [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password]
  
  參數
  ServerName
  指定服務所在的遠程服務器名稱該名稱必須使用 UNC 格式 (\\myserver)若要在本機上運行 SCexe請忽略此參數
  ServiceName
  指定由 getkeyname 操作返回的服務名
  type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}
  指定該服務類型默認類型為 type= own 值 說明
  own 服務以其自身的進程運行不與其它服務共享可執行文件這是默認設置
  share 服務作為共享進程運行它與其它服務共享一可執行文件
  kernel 驅動程序
  filesys 文件系統驅動程序
  rec 文件系統識別驅動器(表明在計算機上使用的文件系統)
  interact 服務可以與桌面交互作用接收用戶的輸入交互服務必須以在 LocalSystem 帳戶下運行該類型必須與 type= own 或 type= shared(例如 type= interact type= own)結合使用自身使用 type= interact 將會產生一個無效參數錯誤
  
  start= {boot|system|auto|demand|disabled}
  指定服務的起始類型默認的起始類型是 start= demand boot 由啟動引導程序加載的設備驅動器
  system 在核心初始化過程中啟動的設備驅動器
  auto 每次計算機重新啟動時甚至沒有人登錄計算機時都能自動開始的服務
  demand 必須手動啟動的服務如果沒有指定start=這就默認值
  disabled 不能啟動的服務要啟動一個禁用的服務把啟動類型更改為其他值
  
  error= {normal|severe|critical|ignore}
  如果在啟動中服務器啟動失敗則指定錯誤的嚴重性默認設置為 ascii normal 將記錄錯誤並且顯示消息對話框通知用戶服務啟動失敗啟動將會繼續這是默認設置
  severe 記錄錯誤(如果存在)計算機嘗試以最新的有效配置重新啟動這可能是由於計算機能夠重新啟動但服務器卻仍然不能運行
  critical 記錄錯誤(如果存在)計算機嘗試以最新的有效配置重新啟動如果上次已知正常的配置失敗啟動也
From:http://tw.wingwit.com/Article/os/xtgl/201311/9331.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.