Windows 7 中 SYSTEM 帳戶擁有最高權限,甚至超過 Administrator。若需刪除唯有 SYSTEM 才能存取的檔案/資料夾,或執行需最高權限的指令,可透過 sc 建立互動式服務啟動 CMD,取得 SYSTEM 權限的命令列環境。本文提供指令步驟、原理與注意事項。
背景情境
- D 槽檔案唯有 SYSTEM 擁有「完全控制」權限,Administrator 也無法刪除。
- 啟用內建 Administrator 帳戶仍無法存取。
- 嘗試用「排程工作」以 SYSTEM 執行 CMD,但遭遇 103/203 錯誤無法執行。
解決指令:建立互動式 SYSTEM CMD 服務
- 以系統管理員身分開啟命令提示字元。
- 依序執行以下兩行指令:
sc create SuperCMD binpath= "cmd /K start" type= own type= interact
sc start SuperCMD
- 畫面會彈出「互動式服務偵測」對話方塊,點選「檢視訊息」。
- 切換到名為「SuperCMD」的黑底白字 CMD 視窗,標題列顯示
C:\Windows\system32\cmd.exe,此視窗即以 SYSTEM 身分執行。
指令參數解析
| 參數 | 說明 |
sc create SuperCMD | 建立名為 SuperCMD 的服務 |
binpath= "cmd /K start" | 服務執行檔路徑:cmd /K (執行後保留視窗) start (啟動新視窗) |
type= own | 服務類型:獨立進程 (WIN32_OWN_PROCESS) |
type= interact | 關鍵參數:允許服務與桌面互動 (SERVICE_INTERACTIVE_PROCESS),讓 CMD 視窗顯示在當前使用者桌面 |
sc start SuperCMD | 啟動該服務 |
批次檔自動化
建立 syscmd.bat (以管理員執行):
@echo off
sc create SuperCMD binpath= "cmd /K start" type= own type= interact
sc start SuperCMD
echo 若彈出「互動式服務偵測」請點選「檢視訊息」。
pause
使用情境範例
- 在 SYSTEM CMD 中執行
del /f /s /q "D:\LockedFolder\*" 刪除唯有 SYSTEM 可刪的檔案。
- 執行
regedit 修改需 SYSTEM 權限的登錄機碼 (如 HKLM\SAM、HKLM\SECURITY)。
- 執行
takeown /f "D:\LockedFolder" /r /d y 取得擁有權,再 icacls 授予 Administrator 完全控制。
清理服務
用畢後請移除服務避免殘留:
sc stop SuperCMD
sc delete SuperCMD
注意事項與風險
- SYSTEM 權限無限制:可修改/刪除任何系統檔案、登錄,操作失誤可能導致系統無法開機,極度謹慎。
- 互動式服務在 Windows Vista/7/8/10/11 均支援,但 Windows 10 1803 後預設停用「互動式服務偵測」服務 (UI0Detect),需先啟動該服務才能看到「檢視訊息」提示。若不啟動,CMD 仍在背景以 SYSTEM 執行但無法互動。
- 替代方案:PsExec (
psexec -i -s cmd)、NirCmd (nircmd elevatecmd)、Token 替換工具 (RunAsSystem) 更現代、穩定。
- 排程工作法失敗原因:排程工作預設在 Session 0 隔離環境執行,無法與使用者桌面互動,且受限於「使用最高權限執行」勾選、登入類型設定等細節。
sc create ... type= interact 是 Windows 7 取得互動式 SYSTEM CMD 的經典技巧,威力極大、風險極高,僅建議資深管理者在備份完成、確認無他法時使用,用畢即刪除服務。