[3] 自動ログインのセットアップおよびトラブルシューティング

adminが2023/10/11 16:55に最終更新

はじめに

  • このドキュメントは、akaBotプラットフォームv2.0.5.5以降およびakaBot Center v2.0.4.0以降の機能をベースに作成されています。
  • 上記以前のプラットフォームバージョンを使用している場合は、それらのバージョンのページのドキュメントをご参照ください。

セットアップ

1.Windowsグループポリシー(gpedit.msc)

  • グループポリシーは、特にネットワーク管理者向けのさまざまな詳細設定を含むWindowsの機能です。しかし、1台のコンピューターの設定を調整するためにローカルグループポリシーも使用できます。
  • Windows Professional、Windows Enterprise、およびWindows Serverでのみ利用可能です。
  • 管理者権限で実行(Run with administrator)する必要があります。

サービスがSecure Attention Sequence(SAS)をシミュレートできるようにします。

ステップ1:スタートメニューを開いて、「Group Policy」または「gpedit.msc」を入力します。

image-20220506133637-1.png

ステップ2:「Computer Configuration」>「Administrative Templates」>「Windows Components」>「Windows Logon Options」に移動して「Disable or enable software Secure Attention Sequence」>「Services」または「Services and Ease of Access applications」を有効にします。

image-20220506133646-2.png

リモートデスクトップサービスユーザーを単一のリモートセッションに制限します。

ステップ1:スタートメニューを開いて、「Group Policy」または「gpedit.msc」を入力します。

ステップ2:「Computer Configuration」>「Administrative Templates」> 「Windows Components」>「Remote Desktop Services」>「Remote Desktop Session Host」>「Connections」に移動して「Restrict Remote Desktop Services users to a single Remote Desktop Services session」>「Not Configured」または「Enabled」を選択します。

image-20220506133700-3.png

ネットワークレベル認証を無効にします。

ステップ1:スタートメニューを開いて、「This PC」を入力して、「Properties」>「Remote settings」に移動します。

image-20220506133708-4.png

ステップ2:「Remote Desktop」グループで(2つのオプション):

  • 「Allow remote connections to this computer」オプションにチェックを入れます。
  • 「Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)」オプションのチェックを外します。

image-20220506133716-5.png

接続時にRDPクライアントが保存されたパスワードを使用できるようにします。

ステップ1:スタートメニューを開いて、「Group Policy」または「gpedit.msc」を入力します。

ステップ2:「Computer Configuration」>「Administrative Templates」>「Windows Components」>「Remote Desktop Services」>「Remote Desktop Session Host」> 「Security」に移動し「Always prompt for password upon connection」>「Not Configured」または「Enabled」を選択します。

image-20220506133725-6.png

 

注:Windowsポリシーを変更した後、「gpupdate/force」コマンドを管理者権限で実行します。

2.登録キー

Registry keyTypeNameValue
HKEY_LOCAL_MACHINE\SOFTWARE\FPT Software\akaBot Platform

ServicePipeName

CredentialProviderFilters

MaxClients

REG_SZ

REG_SZ

REG_DWORD

akaBotCredPipe

(任意)

0x00000019

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Authentication\ Credential Providers{4f22cdbe-4949-4567-9941-1aaa46c6b7bd}(Default)REG_SZakaBotCredentialProvider
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Authentication\ Credential Provider Filters{4f22cdbe-4949-4567-9941-1aaa46c6b7bd}(Default)REG_SZakaBotCredentialProvider
HKEY_CLASSES_ROOT\CLSID{4f22cdbe-4949-4567-9941-1aaa46c6b7bd}(Default)REG_SZakaBotCredentialProvider
HKEY_CLASSES_ROOT\CLSID{4f22cdbe-4949-4567-9941-1aaa46c6b7bd}\InprocServer32

(デフォルト)

ThreadingModel

REG_SZ

REG_SZ

akaBotCredentialProvider

Apartment

HKEY_LOCAL_MACHINE \SOFTWARE\Policies\Microsoft\Windows NT\Terminal ServicesfPromptForPasswordREG_DWORD0(または無し)

Files

次のファイルが正しいディレクトリにあることを確認します。

File nameTarget directoryVersion
akaBotCredentialProvider.dllC:\Windows\System32\akaBotインストーラーバージョンと同一バージョン

Logs
次のログファイルを確認します。

File nameTarget directoryDescriptions
msiexec.logC:\ProgramData\akaBot\Logs\自動ログインに関連するエラーがない
BotService.logC:\ProgramData\akaBot\Logs\自動ログインに関連するエラーがない
AutoLogonChecker.logC:\ProgramData\akaBot\Logs\自動ログインに関連するエラーがない
BotService.logC:\ProgramData\akaBot\Logs\自動ログインに関連するエラーがない

設定

  • コンソールとRDPの2種類の設定(無人エージェント)があります。それぞれは異なる設定システムに適しています。

CONSOLE

image-20220506133757-7.png

  • この設定を使用するには、エージェントを実行しているコンピューターが物理マシンである必要があります。そのとき、コンピューターの再起動またはロック時にログイン画面を表示するために、常に実行される「LogonUI.exe」(Microsoftログインインターフェース)と呼ばれるプロセスがあります。
  • Centerからタスクを実行する要求があると、akaBotサービスはユーザー名とパスワードを入力するためにLogonUI.exeプロセスにロック解除要求を送信します。

❗️ 注:
画面に法的免責事項が表示されている場合、ログイン画面に入るにはユーザーが「OK」ボタンを押す必要があるため、ロック解除は失敗します。

 

image-20220506133805-8.png

RDP(高密度エージェント)

image-20220506133811-9.png

  • この設定は、物理マシンでも仮想マシンでも使用可能です。
  • Centerからタスクの実行要求がある場合、AgentはRDPクライアントを使用して、そのユーザーにサービスを提供するための新しいセッションを開始します。
  • 画面に警告などが表示され、ログイン画面に入るには「OK」ボタンを押す必要がある場合、「Others」セクションに入力します⇒/kb:{Enter}.
  • エージェントマシンでリモートセクションの初期化に通常より長い時間がかかる場合、タイムアウト(秒)を設定します⇒「/unlock-timeout-sec:45」 。デフォルト:30秒
  • 時々ロック解除が失敗する場合、エラー率を減少させるために再試行の回数を増加します =>/unlock-retries:3。デフォルト:2(回)

Capability Matrix

下表はさまざまなOSとシナリオにおける自動ログイン機能の性能マトリックスを提供します。結果はakaBot v2.0.5.5で実行されたテストに基づいています。

https://files.readme.io/fc25ac3-Screenshot_2021-05-11_223517.jpg

注:

  • N/A:未テスト。ご利用は自己責任でお願いします。
  • Y:利用可。モジュールは良好に機能します。
  • N:利用不可。モジュールはこのシナリオをサポートしません。
  • (1):コンピューターの物理コンソールインターフェース
  • (2):仮想マシン
  • (3):AWSでの仮想マシン(Elastic Compute Cloud)
  • (4):AWSでの仮想マシン(Desktop-as-a-Service)

Troubleshooting

不正確なユーザー名またはパスワード

  • 不正確なユーザー名またはパスワードを入力した場合、タスクは失敗し、「Username or password not match」のようなエラーメッセージが表示されます。

image-20220506133828-10.png

  • 根本原因:プラットフォームが新バージョンにアップグレードされて、インストーラが「C:\Windows\System32\akaBotCredentialProvider.dll」ファイルを置き換えられず、そして「LogonUI.exe」プロセスが別のユーザーによって使用されています。

最も一般的なケース:Windowsサーバーでプラットフォームのアップグレード

:white-check-mark: 解決策:すべてのアプリケーションを閉じて、Windowsを再起動します。システムが再起動されると、akaBotのコンソール画面が表示され、「akaBotCredentialProvider.dll」ファイルの置き換えと自動ログイン機能の無効化を通知します。

image-20220506133834-11.png

  • その後、Agentでダブルクリックして開き、「Disconnect」>「Connect」をクリックすると、Agentは自動的に自動ログイン機能を有効化します。
  • 「AutoLogonChecker.exe status」コマンドを実行することで、自動ログインのステータスをチェックすることができます。

image-20220506133842-12.png

  • 有効になっていない場合、「AutoLogonChecker.exe enable」コマンドを実行します。

image-20220506133850-13.png

自動ログインモジュールが有効になっているが、ロック解除が失敗
:white-check-mark: 解決策: VC++ Redist x64/x86 v14.16.27029をインストールすることを確認します。

image-20220506133859-14.png

同じユーザーによる複数のセッション

  • akaBotプラットフォームは一度に1ユーザーあたり1セッションのみをサポートします。
  • したがって、一度に複数のユーザーセッションがある場合、akaBotサービスはそのユーザーの状態がロック済みまたは使用中として間違って特定します。

:white-check-mark: 解決策:1ユーザーあたり1セッションを許可するために、以下の設定を行います。

ステップ1:スタートメニューを開いて、「Group Policy」または「gpedit.msc」を入力します。

ステップ2:「Computer Configuration」>「Administrative Templates」> 「Windows Components」>「Remote Desktop Services」>「Remote Desktop Session Host」>「Connections」に移動して「Restrict Remote Desktop Services users to a single Remote Desktop Services session」>「Not Configured」または「Enabled」を選択します。

image-20220506133907-15.png

法的免責事項のためロック解除が失敗

:white-check-mark: 解決策:以下の手順に従って行います。

ステップ1:RDPモードに切り替えます。
ステップ1:RDPモードに切り替えます。ステップ2:「Center」>「Agent」>「Agent Settings」>「Others」に「/kb:{Enter}」パラメーターを追加します。

image-20220506133914-16.png

その後、RDPクライアントは「Enter」ボタンを送信してログイン画面に入り、Windowsをロック解除します。

エラーコード8455ロック解除が失敗

WindowsのRemote Desktop Session Hostモジュールが返すエラーコードです。

❗️ SSL_ERR_FRESH_CRED_REQUIRED_BY_SERVER (8455 (0x2107))

サーバー認証ポリシーでは、保存された資格情報を使用する接続要求を許可しません。新しい資格情報を入力する必要があります。

  • 根本原因:Windowsポリシーでは、既存のユーザー名とパスワードを使用できません。リモートデスクトップ接続の開始時にダイアログボックスに資格情報を入力する必要があります。

=> 下図のように自動ログインが失敗します。

image-20220506134104-17.png

:white-check-mark:  解決策:以下の手順に従って行います。

ステップ1:スタートメニューを開いて、「Group Policy」または「gpedit.msc」を入力します。

ステップ2:「Computer Configuration」>「Administrative Templates」>「Windows Components」>「Remote Desktop Services」>「Remote Desktop Session Host」> 「Security」に移動し「Always prompt for password upon connection」>「Not Configured」または「Enabled」を選択します。

image-20220506134112-18.png

 ❗️ Windowsポリシーを変更した後、「gpupdate/force」コマンドを管理者権限で実行します。

 

  
Navigation