這是我的場景。我的應用程序會執行一些維護工作,只有管理員才能登錄到Windows。防止非管理員在特定時間段內在Windows上登錄
維護完成後,任何用戶都應該能夠登錄。
什麼是解決這個問題的好方法?任何指針將不勝感激。
編輯:操作系統是Windows 7
感謝, 普拉迪普
這是我的場景。我的應用程序會執行一些維護工作,只有管理員才能登錄到Windows。防止非管理員在特定時間段內在Windows上登錄
維護完成後,任何用戶都應該能夠登錄。
什麼是解決這個問題的好方法?任何指針將不勝感激。
編輯:操作系統是Windows 7
感謝, 普拉迪普
枚舉所有NetUserEnum的用戶,對於那些非管理員禁止使用NetUserSetInfo用的USER_INFO_1結構和UF_ACCOUNTDISABLE他們的賬戶旗。保留您禁用的用戶列表,以便您完成後可以重新啓用他們的帳戶。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa370960%28v=vs.85%29.aspx
「逆向過程」,你的意思是「枚舉並啓用所有非管理員用戶」?這聽起來像一個可怕的想法。 – 2012-02-22 19:03:04
當然沒有。只需保留一個禁用它的用戶列表並使用它。但我會編輯答案來澄清。 – 2012-02-22 19:19:02
這不適用於域。 – 2012-02-22 22:44:19
一種解決方案是讓管理員創建一個本地組,其中包含應該能夠正常登錄的用戶列表,並將「本地登錄」權限僅指定給此組和管理員組。您可以使用LsaRemoveAccountRights和LsaAddAccountRights將本地登錄權切換到本地組。
我建議你讓管理員做最初的修改,因爲在沒有管理員的知識和同意的情況下搞亂用戶權限會讓人不安,並且可能會導致意想不到的副作用。
查找GINA DLL,可能會給你一個起點。 – Dampsquid 2012-02-21 22:16:14
這聽起來像Active Directory可以做的事情。 – 2012-02-21 22:28:37
這聽起來像你還沒有計劃。這個問題對SF來說會更好。一旦你有一個鎖定非管理員的計劃,你可以問這裏是否遇到編碼問題。 – 2012-02-22 19:02:12