Windows 自動登出逾時未操作的使用者
不知道是我這 MIS 愈來愈嚴苛(說機車也行),還是使用者的操作習慣不良!常常發現在公用電腦區發現,電腦不是停留在「應該」的登入要求畫面、或鎖定畫面,而是停留在已登入使用的畫面。
其實這是很不好,也很危險的使用習慣;如果使用者登入後離開電腦,就像 Mission Impossible 一樣,其他人可以「幫」你使用,「幫」你修改成績資料,甚至「協助」你刪除檔案!所以一般我都會建議,如果要離開電腦位置時,請「登出」或「鎖定」畫 面。(註一)
可是苦口婆心說了好幾回,總有些健忘的使用者就是會忘記!想想這不是個辦法,依靠別人是最不可靠的方法,還是依靠電腦安全些;找尋了許久,發現原來 在 windows 2000 的時代,Microsoft 就有解決方法了!就是一支稱為 winexit.scr 的螢幕保護程式,一般當電腦許久未有互動行為(即鍵盤或滑鼠的操作和移動)時,電腦會進入螢幕保護模式,而如果選擇這支 winexit.scr 的螢幕保護程式,則電腦就會執行「將使用者登出」的動作!不錯吧!完全符合需求!
Microsoft 技術支援 - 如何在 Windows XP 中強制使用者於一段閒置期間之後結束程式並登出
方法步驟就是:首先下載 Windows 2003 Resource Kit, 安裝後將 winexit.scr 複製到所需設定電腦硬碟的 C:\Windows\System32 (%systemroot%\system32)中,然後以滑鼠右鍵點選 winexit.scr 選擇「安裝」,就完成安裝了。設定時,就由「開始」→「設定」→「控制台」→「顯示」,選擇「螢幕保護裝置」標籤,選擇「Logoff Screen Saver」,選擇所需的等候時間,並可點按「設定」按鈕,做進一步的動作設定。如此就完成單機上的功能設定使用了!
(註一)
由於電腦不認識人!電腦只能依登入時輸入的帳號密碼來辨識現在是哪一位使用者登入,而將預先設定好的使用權限賦予該登入的使用者!所以如果您登入您的帳 號,留下操作畫面地離開您的位子,這時下一位使用者如果有心,就可以直接用您的帳號繼續使用,如果這時刪除、修改、甚至寄恐嚇信給校長,在電腦記錄上,都 是您這位登入操作的使用者!聽起來很可怕吧!我又在烏鴉嘴恐嚇大家了!
電腦「鎖定」的方法,真的很簡單,只要是使用 Windows 98 以上的系統(Windows NT / 2000 / XP / 2003 均可),只要同時按「Ctrl」+「Alt」+「Del」,就會出現「Windows 安全性」視窗,選擇其中的「鎖住電腦」,就可以保護您離開位置時,您的電腦不會被別人偷偷使用!你會發現鎖住電腦後,螢幕會停留在一登入畫面,除非重新再 以您的使用者帳號密碼登入,否則無法使用的!這樣是不是安全多了!
如果人間有這麼美好就好了!以我們學校為例,大部份的電腦,均屬公用電腦,僅有極少部份屬於個人專用電腦,所以大約有 20~30 部電腦需要我這麼一台一台設定操作,如果下回要變更設定,還得再一台一台重來一次,光想到我就受不了(果然最近發福不是沒原因的,是愈來愈懶惰了!)。
這麼好的功能當然要和 Windows 環境中 Active Directory 的 Group Policy 配合了!方法如下:
(一)設定群組原則的「螢幕保護程式」
由「Active Directory 使用者及電腦」進入,選擇欲設定的組織單位(OU),或新增一個新的 OU 將所需設定的電腦全置於該 OU 中;然後滑鼠右鍵點選該 OU 選擇「內容」,選擇「群組原則」標籤,點按「編輯」按鈕,進入群組原則編輯視窗。
依序點選「使用者設定」→「系統管理範本」→「控制台」→「顯示」,依需求啟用以下設定:
- 螢幕保護裝置:需啟用
- 螢幕保護裝置執行檔名稱:%systemroot%\System32\winexit.scr
- 螢幕保護裝置加上密碼保護:建議啟用
- 螢幕保護裝置等候時間:需啟用,時間則視各公司策略而定,建議約在 600 ~ 1200 (秒) 之間
如果您以為這麼輕易地就就完成了所有動作,那就太看得起 Microsoft 了!他們家以祕技聞名的!好,接下來才是重頭戲,經驗分享,回想一下上頭寫的文章,沒有什麼插圖,就知道重點不在那兒!
(二)目標電腦上的相關修改
剛剛第一步驟提到的 winexit.scr 我們還沒處理它!而 Winexit.scr 內有三個相關連的設定選項,我們也沒有處理!可惜,這部份就得做苦工,我們得一台一台電腦上單機設定!如果允許,建議可以把這些設定和檔案,下回在做系統 還原光碟時一併建立,這樣就可以避免一台一台電腦上安裝設定了!
首先由 Windows 2003 Resource Kit 中複製 winexit.scr,將其複製到「每一台」需要設定的個人電腦中,建議依系統規劃放置於 C:\windows\System32 中(一般預設的螢幕保護程式也是放置於這兒)。
接著若使用者無單機系統管理權限,則我們必須相對應地開啟 control.ini 的寫入權限,讓 winexit.scr 的設定值可以讓使用者寫回登錄檔(Registry)中,方法如以下步驟,參考自Microsoft 技術支援:
- 使用 AD 的 Domain Admins 內的管理者帳號,登入 Domain Controller,我們希望由 DC 連線至每一台目標電腦修改其權限設定;點選「開始」→「執行」,輸入 regedt32.exe,開啟「登錄編輯程式」。
- 點選「檔案」→「連線網路登錄」,於選擇電腦視窗中,輸入要設定的「遠端」電腦名稱;以上兩個步驟,主要是省去大家得跑到每一台電腦螢幕前操作的步驟,直接由 DC 連線遠端修改就好了。
- 點選位置至 HKEY_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\IniFileMappings,滑鼠右鍵點擊 Control.ini,選擇「使用權限」。
- 新增 Everyone ,再點按「進階」按鈕。
- 於「進階安全性設定」視窗中,先選擇 Everyone,再點按「編輯」按鈕。
- 加入「設定數值」及「建立子機碼」兩個權限。
透過以上的設定,才能讓 winexit.scr 為使用者設定所需參數選項。
這時候又要說,如果人間有這麼美妙就好了!微軟就不是徵軟,而是微微硬了!還記得一開始的 winexit.scr 的設定畫面,現在我們希望以 Group Policy 來代替原先一台一台電腦上設定的苦工,當然我們也就要設定這些參數選項了!
- 首先我們得為 winexit.scr 製作一專屬的「系統管理範本」,這兒我們就命名為 winexit.adm。請開啟「記事本」,將以下深藍色文字部份複製貼入記事本中,儲存名稱為 winexit.adm,編碼為 unicode。
CLASS USER
CATEGORY !!AdditionalSettings
CATEGORY !!Desktop
CATEGORY !!WinExitScr
KEYNAME "Control Panel\Screen Saver.Logoff"
POLICY !!ForceLogoff
VALUENAME ForceLogoff
EXPLAIN !!ForceLogoff_Help
VALUEON "1"
VALUEOFF "0"
END POLICYPOLICY !!CountDownTimer
EXPLAIN !!CountDownTimer_Help
PART !!WarningTime TEXT END PART
PART " " NUMERIC TXTCONVERT REQUIRED
MIN 0 MAX 900 SPIN 60
VALUENAME CountDownTimer
DEFAULT "300"
END PART
END POLICYPOLICY !!DialogMessage
EXPLAIN !!DialogMessage_Help
PART !!Message TEXT END PART
PART " "
EDITTEXT
DEFAULT !!DefaultMessage
VALUENAME DialogMessage
END PART
END POLICYEND CATEGORY ; !!WinExitScr
END CATEGORY ; !!Desktop
END CATEGORY ; !!AdditionalSettings
[strings]
Desktop=Desktop
AdditionalSettings=Additional settings
WinExitScr=Settings for WinExit screen saver
ForceLogoff=Force running applications to close
ForceLogoff_Help="強制關閉開啟中的應用程式"
CountDownTimer=Warn before logoff
CountDownTimer_Help="登出執行視窗內的提醒時間(秒)"
WarningTime=Seconds to warn before logoff:
DialogMessage=Display message before logoff
DialogMessage_Help="登出執行視窗內的顯示訊息"
Message=Message:
DefaultMessage=You will be logged off. Press cancel to abort.
- 接著一樣地,請以 Domain Admins 內的系統管理者登入 Domain Coller (DC),將 winexit.adm 複製到 C:\Windows\inf 中;點選先前我們已經新的 OU,編輯其群組原則,點選「使用者設定」展開,以滑鼠右鍵點選「系統管理範本」,點選「新增/移除範本」,點按「新增」按鈕,於 C:\Windows\inf 中將 winexit.adm 滙入。
- 由於我們自行製作的系統範本,其中含有我們自訂的參數和選項,這些預設會被過濾而沒有顯示,所以,請點選「檢視」→「篩選」。
- 將「只顯示可以完全管理的原則設定」的勾勾取消。
- 如此,即可由「使用者設定」→「系統管理範本」,進入 Additional settings \ Desktop \ Settings for WinExit screen saver,設定 WinExit 的三個選項。
以上是一個星期的血淚心得,查詢了大部份的網頁資訊後的使用心得。可是明明大部份的網友都可以,為什麼我還是沒成功呢?
結果,原來又是超級微留一手!如果您的網路環境和我一樣(使用者和電腦,分屬不同的組織單位中),希望「群組原則」套用到使用者時,只根據使用登入 的電腦來套用時,則需要開啟「群組原則的反向迴路處理」,這時原則會導引系統將電腦的 GPO 集套用至登入任何此原則所影響電腦的使用者。
方法為:
於先前我們新增的 OU 上,編輯該「群組原則」物件,點選「電腦設定」→「系統管理範本」→「系統」→「群組原則」 ,於右側視窗將「使用者群組原則回送處理模式」變更為「已啟用」,模式選擇「合併」。
完成後,一切都變得美好了!完全如預期般地,只要是登入公用電腦的使用者,其螢幕保護程式為變更為 winexit.scr 而且若使用者逾時未有任何互動動作時,系統會自動將其登出(或說系統會把他踢出去)。
希望以上的分享對各位有所幫助,花了約一個星期的時間處理這部份,才發覺繁體中文的資訊真的很少,尤其相較於英文,甚至是大陸的簡體中文資訊;如果 只是大家懶得分享,怕的是台灣的根本一點一滴地流失,研究這些基礎資訊安全的人變少了。我不是有錢人,也不是先知或高手,我只是個小老百姓,台灣一點一滴 地流失卻是完全發生在生活的週遭,真可怕。
Have a nice day. Good Luck.
No comments:
Post a Comment