MSGina.dll 功能
如果您要撰寫 GINA 來取代Microsoft標準 GINA DLL (MSGina.dll),您可能會想要提供部分或所有標準 GINA 功能。 以下是標準功能清單,以及其控制方式的簡短描述。
注意
Windows Vista 中會忽略 GINA DLL。
登錄機碼值可控制許多標準 GINA 功能的可用性或行為。 除非另有說明,否則這些機碼值屬於 Winlogon 登錄機碼,且具有 [REG_SZ] 的值類型。 Winlogon 鍵的實際路徑為:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
法律通知對話框
在某些地方,任何人都可以存取工作站登入並開始工作,除非有通知指出系統僅適用於已授權的使用者,否則這是合法的。 此外,許多使用者想要在一般登入之前顯示公司特定的訊息。 標準 GINA 會使用兩個 Winlogon 登錄機碼值,讓系統在登入之前顯示資訊。 如果任一索引鍵值存在且包含非 Null 字串,則會在一般歡迎畫面之前顯示 [法律注意事項] 對話方塊。 下表顯示這些索引鍵值名稱。
索引鍵值名稱 內容 LegalNoticeCaption 要顯示為法律通知對話框標題的字串 LegalNoticeText 要顯示為法律通知對話框訊息的字串 顯示姓氏
根據預設,登入畫面會顯示最後一個用戶的名稱,以成功登入工作站。 此功能是由 DontDisplayLastUserName 登錄機碼值所控制。 當此機碼值設定為一個時,用戶名稱不會顯示在登入對話框中。
自動登入
此功能可讓系統在每次系統啟動時自動登入使用者,方法是使用預設資訊並停用 CTRL+ALT+DEL 登入方塊。
此功能使用 Winlogon 機碼的下列值。
價值 內容 AutoAdminLogon 1 AutoLogonCount 自動登入的次數 DefaultUserName 用戶帳戶的名稱 DefaultDomainName 用戶帳戶在中的功能變數名稱 如果 AutoAdminLogon 機碼值存在且包含索引鍵值,而且 AutoLogonCount 機碼值不存在,則每次目前的使用者註銷或系統重新啟動時,都會發生自動登入。 登入的帳戶是使用 DefaultUserName 和 DefaultDomainName 索引鍵值來指定。 帳戶的密碼可以用兩種方式之一來指定。 對於執行其中一個 Windows Server 2003 或 Windows XP作系統的電腦,密碼應該使用 LsaStorePrivateData 函式儲存為秘密。 如需詳細資訊,請參閱 保護自動登入密碼。 另一種儲存密碼的方式是在 Winlogon 機碼的 DefaultPassword 專案中以純文字表示:基於安全性考慮,應避免這項技術。 如果您使用 LsaStorePrivateData 函式來儲存密碼,則請勿在 Winlogon 機碼中提供 DefaultPassword 專案。
如果 AutoAdminLogon 索引鍵值存在且包含一個值,而且如果 AutoLogonCount 索引鍵值存在且不是零,AutoLogonCount 將決定發生的自動登入次數。 每次重新啟動系統時,AutoLogonCount 的值都會遞減一,直到達到零為止。 AutoLogonCount 達到零時,將不會自動登入任何帳戶,AutoLogonCount 機碼值,DefaultPassword 機碼值,將會從登錄中刪除,AutoAdminLogon 設定為零。
另外還有一個注意事項是使用 AutoAdminLogon:根據預設,MSGina.dll AutoAdminLogon 時檢查 SHIFT 鍵的狀態。 如果在開機過程中按住 SHIFT 金鑰,MSGina.dll 會忽略 AutoAdminLogon 金鑰值,並以互動方式提示使用者識別和驗證資訊。 當您偵錯專用應用程式時,這是一項實用的功能。 若要停用 SHIFT 鍵的意義,請將 IgnoreShiftOverride 機碼值設定為一個。
允許未經驗證的關機
您可以設定預設 GINA,以在登入對話框中包含 [關機] 按鈕。 這可讓使用者在不先登入的情況下關閉系統。 下列索引鍵值會控制是否包含此按鈕。
價值 描述 ShutdownWithoutLogon 要包含按鈕的其中一個;要排除按鈕的零 Userinit.exe 啟用
Userinit.exe 是使用者登入時,MSGina.dll 所執行的應用程式。 它會在新登入的使用者 內容 和應用程式桌面上執行。 其目的是要設定用戶的環境,包括還原網路用途、建立配置檔設定,例如字型和螢幕色彩,以及執行登入腳本。 完成這些工作之後,Userinit.exe 執行使用者殼層程式。 殼層程式會繼承 Userinit.exe 設定的環境。 Userinit.exe 執行的特定殼層程式會儲存在 Winlogon 登錄機碼下的 Shell 機碼值中。
Shell 索引鍵值可以包含要執行的程式逗號分隔清單。 Windows 檔案總管是預設殼層程式,如果 殼層 機碼值為 Null 或不存在,則會執行。 根據預設,會列出 Windows 檔案總管。
Logged-On 安全性選項
登入時,如果使用者輸入 安全注意力順序 (SAS),則會向使用者顯示安全性選項畫面。 欄出的選項包括:
- 關閉系統。
- 登出。
- 變更密碼。
- 移至工作清單。
- 鎖定工作站。
當使用者登入時收到 SAS 事件時,取代 GINA 可以提供類似的選項。