質問: Credential Providerの使い方に関して1から教えてください。 以前のWindowsではGINAを独自のものに置き換えることにより、SAS発行の監視やSecure Desktopなどの監視も行えていました。Windows10ではGINAは廃止され、代わりにCredential Providerを使用してくれとのこと。しかし、GINAのように在中型ではないためSAS発行は監視できない?(つまりPCの起動時にしか呼ばれない?)といった仕様になっているようです。 この解釈であっているでしょうか? GINAはdllの形式で書かれていたため、Visual C++でdllを作り、置き換えればいいだけの話でした。Credential Providerはどのように作ればいいのでしょうか。GINAと同じくdllでしょうか? また、呼び出す関数は何を呼べばいいのでしょうか?GINAと同じくmsgina.dllの関数ですか? ...のように何もわかっていません。 ニッチなところなのか解説ドキュメントも少なく、Microsoftのページはリンク切れで、情報が手に入りません。 したいこととしては、できたらGINAと同じようにSAS発行を監視してCtrl+Alt+Delの無効化をしたいと考えています。どなたか教えていただけましたら幸いです。
回答: XY問題のように見受けられます。 Ctrl+Alt+Delとログインは本質的に異なる行為です。Ctrl+Alt+Delを押さなくてもログインできるよう構成できることもご存知かと思います。GINAはログインUIをカスタマイズするためのDLLであり、Ctrl+Alt+Delの無効化は目的外の用途です。またWindows Vista (2006年)から既にサポートされていません。Windows 10では長らく非サポートだったモジュールが削除されたに過ぎません。 GINAに代わるCredential Providerはより一層、ログインにフォーカスしているため、Ctrl+Alt+Delの無効化を実現できなくなったのも当然の流れです。 ではどうすべきかというと、本当に実現したいことを見定めるべきかと思います。 > > 画面やキーボードの無効化をしたところで、子供たちはCtrl+Alt+Delで最高特権レベルのトップレベルウィンドウ(タスクマネージャー等)を呼び出し、制限を回避しようとします。そこで、一時的にPCを操作できない状態にしたいのです。 > > > 一例として回答しますと、ここで本当に実現したいのはタスクマネジャーの無効化ではないでしょうか? そしてタスクマネジャーの起動方法はいくつもあります。 * Ctrl+Alt+Del画面から * タスクバーの右クリックメニューから * Ctrl+Shift+ESC * エクスプローラー他の手段で`Taskmgr.exe`を実行 これら個別に無効化してもいたちごっこでしかありません。グループポリシーのRemove Task Managerを設定することで、いずれの起動方法に対しても無効化できます。 逆にタスクマネジャーが起動できないのであれば、Ctrl+Alt+Del画面を無効化する必要はありませんよね?