2012-03-15 78 views
3

經過Google搜索後,一般建議是創建一個標準的非管理員帳戶。如何防止用戶更改系統日期/時間(在Windows 7中)?

我剛試過。我只有一個帳戶,我自己的,這是一個管理員,然後創建了第二個帳戶(不是Guest帳戶)。我退出了自己的帳戶,進入新帳戶,並試圖改變時間。 Windows 7彈出一個框詢問我的主賬戶是否允許這個(並提示輸入密碼)。

我被告知「不可能改變系統日期/時間」。我打算交付一臺只有標準帳戶和我的軟件的PC,但不能(我認爲)阻止用戶創建管理帳戶並更改日期/時間。

我可以通過Delphi編程來防止這種情況發生,還是我不得不說,如果用戶想破壞性,我無法阻止它?

+4

如果您使用標準帳戶分配PC並持有管理員用戶的密碼,則用戶無法使用自己的受限帳戶創建新的Adinistrative帳戶。 – RRUZ 2012-03-15 03:04:28

+1

@RRUZ,什麼阻止用戶關閉電腦並更改BIOS中的日期和時間?雖然無法「恢復」Windows管理員密碼,但您可以輕鬆解決BIOS密碼。 – 2012-03-15 06:40:03

+4

如果電腦上的時間錯了怎麼辦?用戶不應該能夠改變它嗎? – 2012-03-15 07:17:35

回答

4

在您的應用程序中,您可以實際檢測到用戶在運行應用程序時更改系統時間。

系統時間更改時,您將收到WM_TIMECHANGE。

啓動時,您可以保存gettickcount(作爲StartTickCount)和現在(作爲StartTime)。在檢查時,您可以檢查tickcount與不同時間點之間的差異(允許有小的差異)並瞭解不同之處。但是,如果用戶將系統時間從應用程序中移開,則此技巧不起作用。也許你可以有一個服務,這是自動啓動檢查。

如果需要改回原來的時間,這裏是一些資源: CHANGE the system TIME

順便說一句,在操作系統級別,普通用戶無法創建一個管理員用戶。

+0

+1我在考慮儲存時間和檢查變化。我可以自動啓動我的應用程序(它應該是唯一的應用程序運行,但是..你知道用戶...: -/ – Mawg 2012-03-15 03:18:18

+1

@Mawg是啊,對於服務員,我的程序正常調用登錄服務器,使用服務器時間,但是用戶會拔掉/退出程序/更改時間等等,所以我保留了幾個跟蹤技巧(最新日誌時間>當前日誌時間/最後退出程序時間>當前程序開始時間/電纜插入等),並記錄可能的作弊系統管理員需要考慮的信息 – Justmade 2012-03-15 03:43:45

11

一般這類限制使用Windows組策略

enter image description here

德爾福可以使用Group Policy APIRSoP WMI Classes設置。

+0

+1,但我無法確定如何進入Windows 7中的Windows組策略編輯器...控制面板/管理工具?然後呢? – Mawg 2012-03-15 03:19:55

+1

Aha!Windwos家庭高級版本可能不支持'沒有這樣的事情,即使在另一臺機器上運行polsec.msc也可以 – Mawg 2012-03-15 03:28:56

相關問題