MSGina.dll機能
Microsoft 標準 の GINA DLL (MSGina.dll) を置き換える GINA を記述する場合は、標準の GINA 機能の一部またはすべてを提供できます。 標準機能の一覧と、それらの制御方法の簡単な説明を次に示します。
Note
Windows Vista では GINA DLL は無視されます。
レジストリ キー値は、これらの標準の GINA 機能の多くの可用性または動作を制御します。 特に明記しない限り、これらのキー値は Winlogon レジストリ キーに属し、値の種類は [REG_SZ] です。 Winlogon キーの実際のパスは次のとおりです。
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
[法的通知] ダイアログ ボックス
一部の場所では、ワークステーションにアクセスできるユーザーは、システムが承認されたユーザー専用であることを示す通知がない限り、ログオンして作業を開始することは有効です。 また、多くのユーザーは、通常のログオンの前に会社固有のメッセージを表示する必要があります。 標準の GINA では、2 つの Winlogon レジストリ キー値を使用して、システムがログオン前に情報を表示できるようにします。 いずれかのキー値が存在し、null 以外の文字列が含まれている場合は、通常の [ようこそ] 画面の前に [法的通知] ダイアログ ボックスが表示されます。 これらのキー値の名前を次の表に示します。
キー値の名前 内容 LegalNoticeCaption 法的通知ダイアログ ボックスのキャプションとして表示する文字列 LegalNoticeText 法的通知ダイアログ ボックスのメッセージとして表示する文字列 最後のユーザー名を表示する
既定では、ログオン画面には、ワークステーションに正常にログオンした最後のユーザーの名前が表示されます。 この機能は、 DontDisplayLastUserName レジストリ キー値によって制御されます。 このキー値が 1 に設定されている場合、ユーザー名はログオン ダイアログ ボックスに表示されません。
自動ログオン
この機能を使用すると、システムが既定の情報を使用して Ctrl + Alt + DEL ログオン ボックスを無効にすることで、システムが起動するたびにユーザーに自動的にログオンできます。
この機能では、Winlogon キーの次の値を使用します。
値 内容 AutoAdminLogon 1 AutoLogonCount 自動ログオンを実行する回数 DefaultUserName ユーザー アカウントの名前 DefaultDomainName ユーザー アカウントが存在するドメインの名前 AutoAdminLogon キーの値が存在し、その値が含まれている場合、AutoLogonCount キーの値が存在しない場合、現在のユーザーがログオフするか、システムが再起動されるたびに自動ログオンが行われます。 ログオンするアカウントは、DefaultUserName キーと DefaultDomainName キー値を使用して指定します。 アカウントのパスワードは、2 つの方法のいずれかで指定できます。 Windows Server 2003 または Windows XP オペレーティング システムのいずれかを実行しているコンピューターの場合、 パスワードは LsaStorePrivateData 関数を使用してシークレットとして格納する必要があります。 詳細については、「 自動ログオン パスワードの保護」を参照してください。 パスワードを格納するもう 1 つの方法は、Winlogon キーの DefaultPassword エントリのプレーンテキストです。セキュリティ上の理由から、この手法は避ける必要があります。 LsaStorePrivateData 関数を使用してパスワードを格納する場合は、Winlogon キーに DefaultPassword エントリを指定しないでください。
AutoAdminLogon キー値が存在し、1 つが含まれている場合、AutoLogonCount キーの値が存在し、0 でない場合、AutoLogonCount は発生する自動ログオンの数を決定します。 システムが再起動されるたびに、 AutoLogonCount の値は 0 になるまで 1 ずつデクリメントされます。 AutoLogonCount が 0 に達すると、アカウントは自動的にログオンされません。AutoLogonCount キー値と DefaultPassword キー値を使用すると、レジストリから削除され、AutoAdminLogon は 0 に設定されます。
AutoAdminLogon の使用には、もう 1 つの注意事項があります。既定では、MSGina.dllは、AutoAdminLogon が 1 の場合に Shift キーの状態を確認します。 起動プロセス中に Shift キーが押された場合、MSGina.dllは AutoAdminLogon キーの値を無視し、ユーザーに識別情報と認証情報を対話形式で求めます。 これは、専用アプリケーションをデバッグする場合に便利な機能です。 Shift キーの意味を無効にするには、 IgnoreShiftOverride キーの値を 1 に設定します。
認証されていないシャットダウンを許可する
既定の GINA を構成して、ログオン ダイアログ ボックスに [シャットダウン ] ボタンを含めることができます。 これにより、ユーザーは最初にログオンせずにシステムをシャットダウンできます。 次のキー値は、このボタンを含めるかどうかを制御します。
値 説明 ShutdownWithoutLogon ボタンを含める 1 つ。ボタンを除外する場合は 0 Userinit.exe アクティブ化
Userinit.exeは、ユーザーがログオンしたときにMSGina.dllによって実行されるアプリケーションです。 これは、新しくログオンしたユーザーの コンテキスト とアプリケーション デスクトップで実行されます。 その目的は、ネットワークの使用の復元、フォントや画面の色などのプロファイル設定の確立、ログオン スクリプトの実行など、ユーザーの環境を設定することです。 これらのタスクを完了すると、Userinit.exeはユーザー シェル プログラムを実行します。 シェル プログラムは、Userinit.exe設定する環境を継承します。 Userinit.exe実行される特定のシェル プログラムは、Winlogon レジストリ キーの下の シェル キー値に格納されます。
シェル キーの値には、実行するプログラムのコンマ区切りのリストを含めることができます。 Windows エクスプローラー は既定のシェル プログラムであり、シェル キーの値が null であるか、存在しない場合に実行されます。 既定では、Windows エクスプローラーが一覧表示されます。
ログオン セキュリティ オプション
ログオン時に、ユーザーが セキュア・アテンション・シーケンス (SAS) を入力すると、ユーザーにはセキュリティー・オプション画面が表示されます。 一覧表示されるオプションの中には、次の項目があります。
- システムをシャットダウンします。
- ログオフします。
- パスワードを変更します。
- タスクリストに移動します。
- ワークステーションをロックします。
ユーザーのログオン中に SAS イベントを受信すると、代替の GINA でも同様のオプションが提供されます。