web-dev-qa-db-ja.com

誤ったタイルを表示している資格情報プロバイダー

編集:私はおそらくこれを考えすぎていたことがわかりました。以下の回答を参照してください。

これは、SuperUserで改善される場合と改善されない場合があります。これは、いくつかのワークステーションがエンタープライズ標準に準拠できないという問題に関するものです。ここでのすべての参照は、Win7Professionalのインストールに関するものです。

基本的に、特定のマシンは、コンピューターがロックされているときにこれを表示しています。

BorkedProvider(画像1)

これではなく:

UnBorkedProvider(画像2)

それは大きな変化です。別の資格情報プロバイダータイルが表示されており、すべてのブランドが削除されています。通常の動作では、プロンプトに直接移動してPCのロックを解除しますが、このマシンでは、代わりに[ユーザーのロック解除]タイルをクリックする必要があります。

これを行うと、ブランディングやユーザー名が事前に入力されていない、かなり一般的なプロンプトが表示されます。 OSに付属しているデフォルト構成のデフォルトプロバイダーの1つである可能性があります。

残念ながら、壊れたシステムにアクセスできなくなりました(私たちの場合はオプションであり、まれな問題の場合はより高速に、ローカル技術者がイメージを再作成することをお勧めします)。

誰かがこの種の問題をトラブルシューティングするための良い方法を知っていますか?再イメージのアドバイスを提供してから、両方のシステムの資格情報プロバイダーレジストリを比較しました。主な違いは、中断されたシステムにNovell資格情報プロバイダーがないことです。どうやら、この資格情報プロバイダーがインストールされると、独自のフィルターリストが定義されます。次のメインの資格情報プロバイダーリストにフィルターがない場合:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters\

フィルタリストには一般的なエントリ({DDC0EED2-ADBE-40b6-A217-EDE16A79A0DE}だと思います)のみが含まれているため、次の場所にあるノベルリストにリダイレクトされません。

HKEY_LOCAL_MACHINE\SOFTWARE\Novell\Authentication\NCCredProvider\FilterList

このフィルターリストには、{6f45dc1e-5384-457a-bc13-2cd81b0d28ed}などのよく知られたプロバイダーがいくつか含まれています。

根本原因に対する私の現在の疑いは、グループポリシーで中断されたもの(サイト全体に問題があるため、マシンのローカルである可能性が高い)、またはノベル認証を前提とするエンタープライズMOEとネガティブに相互作用するノベルクライアントの設定ミスまたはアンインストールの試みのいずれかです。プロバイダーが存在します。


[〜#〜]更新[〜#〜]

ホームシステムを確認したところ、中断されたシステムとのレジストリに明らかな違いは見つかりませんでした。フィルタGUID DDC0EED2-ADBE-40b6-A217-EDE16A79A0DEは、どちらの場合もauthui.dllにリンクされており、CredProviderリストはほとんど同じようです。

ただし、ワークステーションがロックされると、ホームシステムはデフォルトのロック解除プロンプト(ユーザー名が事前入力された状態)に直接入ります。これは、上記の画像2のように、ブランドがない場合と同様です。これは、この「ユーザーロック解除」プロバイダーがデフォルトのように見えるため、異常です。フォールバック、それでもホームシステムに表示されておらず、ホームシステムでの資格情報プロバイダーの動作をいじくり回していません。どちらも汎用フィルターを使用しているにもかかわらず、これらは異なる動作を示しているように見えます。


ただし、(コーディングではなく)資格情報プロバイダーの管理に関する情報をオンラインで見つけるのが難しいため、この種の問題に対処することに慣れている人が、この種の問題を追跡するための適切なチェックリストを持っているかどうか疑問に思います。問題をより早く。

のようなもの:

  • 資格情報プロバイダーサービスは、プロバイダーを取得するためにHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication以外の場所を探しますか(ここからGUIDを使用してclasses_rootを検索することはありません)?たとえば、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\AuthenticationでWow6432nodeのバージョンをチェックしますか?
  • オンにできる(またはイベントビューアにログを記録する場合はオンにできる)ログの形式はありますか?デフォルトで、または設定を調整した後にイベントビューアに表示される場合、どのログでどのイベントIDを探す必要がありますか?
  • 上記を組み合わせて拡張すると、既存の優れたトラブルシューティングドキュメントへのリンクがありますか、または資格情報プロバイダーがレジストリエントリとCLSID DLLへの参照)からどのように変換されるかについての完全な説明がありますか?ユーザーに表示される特定のタイル?(仕様や独自のロール方法ではなく、さまざまな状況でユーザーに表示されるさまざまな資格情報プロバイダー画面を構築するエンドツーエンドのプロセス)。
1
Bruno

この場合、問題を見つけて解決しました。私自身の資格情報プロバイダーをコンパイルしてレジストリを精査した後、解決策は驚くほど簡単でした。

(すべてのトラブルシューティングと画像編集はWin7マシンで行われます。)

Windows 8 /8.1用に設計されたSCCMブランディングアプリケーションパッケージは、誤ってWindows 7マシンに展開されていました。ほとんどの効果は単なる表面的なものでしたが、

C:\ ProgramData\Microsoft\User Account Pictures\user.bmp

ファイルは、資格情報プロバイダーを混乱させるのに十分なだけ台無しにされました(MSpaintとWindowsイメージビューアーで表示可能であるにもかかわらず)。空白のタイルを表示する代わりに、通常のログオンプロバイダーは完全に失敗し、タイルをまったく表示せず、ロック後に通常のログオンを行います。 PCは不可能です。

実際、(手動で追加され、管理者がマシンのロックを解除するように設計された)ユーザーロック解除プロバイダーを削除すると、ログオンオプションがまったくない完全に空白の画面になります。

これはエラー処理が不十分なようです。ユーザータイルの表示でエラーが発生すると、資格情報プロバイダーは処理を中止し、空白のタイル、またはどこかからプルされたデフォルトのタイルを表示するはずです。対照的に、完全にボーリングされたビットマップファイル(ペイントとWIMが開くことができなくなるまで16進エディターでモンキーされた)は処理に失敗し、空白の使用可能なタイルを表示するため、これは特別な失敗ケースである必要があります。

enter image description here

(スマートカードプロバイダーの突然の出現は無視してください。これは同じ問題の別のマシンであるラップトップであり、すでにこのプロバイダーがあったと確信しています。)

使用されたビットマップエンコーディングを見つけるためのすぐに明白な方法はないようですが、問題の修正は、ファイルをmspaintで開き、1つのピクセルを変更して保存するのと同じくらい簡単でした。

16進エディターで問題のあるファイルを見ると、3バイトのピクセルデータ+ 1 nullのパターンで、データセクションに多数の無関係なnullがありました。対照的に、Paintによって保存されたバージョンには、ヘッダーセクションの後にnullがありません。ペイントバージョンには、約100バイト短いヘッダーもあります。

これをWindows8.1マシンで再度実行し、動作が異なるかどうかを確認します。おそらく、そのOSのログオンUIはそれらをより適切に処理できます(実際、問題の原因となったイメージは、Windows 8/8.1でのみ作成およびテストされている可能性があります)。

2
Bruno