Windows Hello 顔認証の設定ができなくなったけど直った
忙しい人のために
CSRのBLEtokenCredentialProviderっていうBluetoothでログオンするためのドライバみたいなやつを無効にしたら直った
事の発端
2月頭、メインPCを長時間起動しておかないといけない用事が終わったのでWindows Updateをしたりセキュリティソフトの再インストールをしたりしたら、Windows Helloの顔認証ができなくなった。
PC環境は以下の通り。
Windowsのバージョン:20H2(ビルド19042.844)
セキュリティソフト:ESET Internet Security 14.0.22.0
カメラ:Intel RealSense SR300
何が起きたか
Windows Helloで顔認証をする設定にしていたのだが「カメラをオンにできませんでした」と言われるようになった。前にもこういうことが時々起きていたが、RealSenseのドライバを再インストールしたら直ったので今回も試したが動くようにならない。Webカメラとしては普通に使えるし、Intel謹製のSDKに付いてくるViewerでは赤外線カメラも機能しているように見える。
とりあえず顔認証の設定をいったん削除して再登録を試そうと思ったら、登録のためにPINを何度入れても一瞬止まったあとPINの入力画面が表示されてしまう。
イベント ビューアーで確認するとCredentialUIBroker.exe・SensorDataService.exe・Microsoft.BioEnrollment_(後略)というのが入れ替わり立ち替わり応答なしになっている。違いがよくわからない。
何をしたか
・最初はESETのウェブカメラアクセス制御が上手くいっていないのだろうかと思ったが、オフにしても症状が変わらないし、そもそもウェブカメラにアクセスしようとする前に応答なしになっているっぽい。
・Microsoft.BioEnrollment_(後略)はAppxパッケージなのでPowerShellから修復を試みたが効果がなかった。
・DISMとSFCを2周したが何も引っかからなかった。
というわけで、そもそもRealSense SR300自体めちゃくちゃ古いし*1サポート終了してるからそろそろ年貢の納め時かと思ったのでしばらく放置していた。
ところが今日Windows Updateを久々に見たらなんかRealSenseのドライバのアップデートが来ていた。リリースノートによると2020年10月にリリースされたらしい。アップデートしたら……動かなかった。
とりあえず動くようになった
改めて「CredentialUIBroker.exe」で検索してみたら、RDPでログインできないというフォーラムの投稿を見つけた。
The problem was from the recent CSR harmony bluetooth driver I installed. The drivers try to add some bluetooth tag authentication which was causing the issue and RDP crashes regardless of a good or bad password.
The simple fix is to head to
C:\Program Files\CSR\CSR Harmony Wireless Software Stack
and change
BLEtokenCredentialProvider.dll
to
BLEtokenCredentialProvider.dll.BAK
And the issue is now fixed for me.
全然意味がわからなかったがとりあえずやってみたら動いた。どうしてかわからないけど動いたのでヨシ!
このMicrosoftのフォーラムの投稿で元ネタとされている別のフォーラムの投稿にはAutorunsを使ってBLEtokenCredentialProviderを無効にしろと書かれている。なんかそっちのほうがよさそうだけど情弱なのでよくわからない。
おわりに
Bluetoothへの影響はどうなんだろうと思って調べたらBluetoothが動かなかったんですが、デスクトップPCにUSBアダプタ*2挿してるだけで全然使ってなかったし買ってすぐの頃から結構不安定だったのでとりあえず見て見ぬふりをしました。今回のこれで動かなくなったのか元から駄目だったのかよくわかりません。なんの参考にもならないクソ記事ですが検証する体力がなかったのでとりあえずメモ書きとして置いておきます。