Okta/ADなど、認証系サインインのトラブル解決の便利コマンド

エンジニア小技

解決に時間が掛かった先日発生したトラブルについて、同じような事象が発生した際の備忘録としてごご紹介します。

実行したコマンドとしてはWindowsの一般的なコマンドで、昨今のリモートワーク環境で環境全体ではなくある特定端末のみの認証系でのトラブルが発生した場合に、最初の方の段階で切り分けに利用できるコマンドです。

端末側のみで実行可能なので、認証系で変な動きがある場合には最初に試してみましょう。

なお今回の事象は、自宅のPCだけしか使用しない場合では発生する可能性は極めて低くく、企業向けの環境では発生する可能性はあるかと思います。

スポンサーリンク

環境と事象の詳細

環境
・端末:Windows 10
・AD:有り
・SSO:あり(Okta)

事象の詳細
【Okta】
・管理者がOktaのパスワードを変更した瞬間はそのパワードでOktaログインが可能
 ただしログオフすると直ぐにOktaのアカウントがロックされる
・Oktaからログオフしていなくても、数分後にかアカウントがロックされる
・Office 365で認証エラーのためメールが見れない
【AD】
・ADのパスワード更新が反映されない
・PCがネットワークに接続されているとログインできない
・PCをネットワークから外すと更新前のパスワードで端末にログイン可能

事象については2つの問題があり、一つはシングルサインオン(SSO)で使用しているOktaとActive Directory(アクティブディレクトリ:AD)、Office365などで、今回はどれもこれも影響を受けていました。

解決に使用したコマンドと実施手順、コマンドの解説

終わってみれば単純な話で、端末側に保存されている認証情報をすべて削除しました。

IT担当者と会話した際には、その担当者にも前日に似たような事象が発生していたとのことです。(その場でこのコマンドが提供されなかったので、事象としては異なる事象なのでしょう。)

なお、この手順はシステム全体ではなく端末単体での対処が可能なため、事象の切り分けにはとても便利なコマンドです。

使用コマンドと手順

では実際に作業をしてみましょう。

まず、コマンドプロンプトを管理者権限で起動します。

コマンドプロンプトを起動したら、以下のコマンドを入力し実行します。

rundll32.exe keymgr.dll,KRShowKeyMgr

すると以下のポップアップが表示されます。

今回認証が通らないアプリも含まれていますが、こちらを全て削除します。

各行を選択して『削除』を選び、削除していきます。

完了したら『閉じる』を押して完了です。

次に各アプリケーションからログオフし、新たなパスワードでログインができるか確認します。

ですので、管理者にそれぞれのパスワードを更新してもらいましょう。

動作確認をしたアプリケーション一覧
・Okta
・AD
・OneDrive
・Office 365(ワードなど)

コマンドの解説

rundll32.exe

rundll32.exeは『DLLの中にある関数を動かすときに使う実行ファイル』です。

DLLですので、Windowsの実行形式のプログラムです。

このDLLに続けて、実行したいDLLとそのオプションの関数を付けて実行することで、このコマンドに続く、DLL内の関数を使うことができます。

今回の場合は、オプションを2つ付けています。

keymgr.dll

Keymgr.dllファイルは、Windows上のユーザ名・パスワードをの端末に保存されたデータを削除したり書き換えたりするためのプログラムです。

今回の作業では、DLLを使って古い認証情報を削除するために使用しています。

KRShowKeyMgr

このオプションは、キー・マネージャダイアログをユーザー・インターフェイスに表示するためのものです。

これら三つを使うことで、前述の以下のポップアップを表示させたということになります。

画像に alt 属性が指定されていません。ファイル名: 1000over_rundll32.jpg

まとめ

コロナ禍で、ニューノーマルな働き方の代名詞であるリモートオフィス環境では、ファイルサーバー以外にもSSO(シングルサインオン)やOffice365の認証情報の認証できないなどの問題解決にも使用できる(実際にタクゾーはそういう環境)コマンドのため、今回ご紹介させて頂きました。

今回使用したコマンドで検索すると、キャッシュされた認証情報を消すために実行されている方を多く、例えばファイルサーバに繋がらない、リモートデスクトップのパスワードが通らないなどの事象解消にも使用することもあったようです。

個別の端末で、認証が上手くいかない・不安定などの事象の際には最初に試してみると良いかもしれません。

またコマンドプロンプトからの起動ではなく、GUIで操作も可能なようですので、ご興味がある方は調べてみてください。

ただし、リモートでのフォローの場合はコマンドで対応してもらったら方が間違いはないでしょう。

最後に、この記事が企業のIT担当の方の事象解決の手助けになれば幸いです。

タイトルとURLをコピーしました