如果沒有以管理員身份登錄,Windows 服務不會自動啟動
我在我的 Windows 伺服器 2008 上使用軟體 Ozeki。從服務中,我製作了 Ozeki 服務啟動類型:自動。但是當我重新啟動伺服器時,我需要以管理員身份登錄,否則我的服務無法啟動。
需要解決方案。我不想以管理員身份登錄我的伺服器。
如果您無法將服務設置為在 NT AUTHORITY\SYSTEM 帳戶下啟動(或者如果它不能以這種方式工作),有一個簡單的解決方法 - 您可以設置自動登錄並立即鎖定會話伺服器重新啟動時您的管理員帳戶。至少您不必每次都手動執行此操作,但在應用解決方案之前,您仍應考慮自動登錄所涉及的輕微風險。
- 打開 CMD 控制台(無需提升)並輸入:
netplwiz
這可能需要管理員權限。
去掉“使用者必須輸入使用者名…”的勾,點擊確定;這將要求特定帳戶憑據在重新啟動時自動登錄。
- 設置自動登錄後,再次在控制台中鍵入以下內容以設置自動鎖定(將管理員替換為您的實際帳戶):
reg add “hkcu\software\microsoft\windows\currentversion\run” /v “任何你喜歡的名字” /t reg_sz /d “cmd /c “query session|find /i " administrator "&&rundll32 user32. dll,LockWorkStation”” /f
這樣,伺服器將在重新啟動時登錄管理員帳戶,並且幾乎會立即鎖定會話。請記住,即使帳戶已註銷並重新打開,這也會起作用,但我懷疑該服務會啟動兩次。:) 唯一的缺點是如果您不小心註銷了帳戶 - 那麼您將不得不進行兩次身份驗證,因為第一次登錄嘗試將被鎖定。;) 好吧,在進行實際重啟之前,您還應該以這種方式精確地測試功能。
您可以通過在 netplwiz 中放回勾號並刪除密鑰來輕鬆撤消上述所有操作:
reg delete “hkcu\software\microsoft\windows\currentversion\run” /v “你在這裡給的名字” /f
您還可以使用 SchTasks(任務計劃程序)登錄並鎖定帳戶 - 創建計劃任務“登錄時”並使用以下操作:
cmd /c “查詢會話|查找 /i “管理員”&&rundll32 user32.dll,LockWorkStation”"
如前所述,將再次需要 netplwiz。
請注意,此處不需要帳戶名稱周圍的反斜杠,因為它們用於“reg”。
儘管如此,我還是會選擇第一個選項,因為啟動任務不太安全 - 它可以被其他高級使用者看到和修改(除非它受到保護)。
我希望這有幫助。