web-dev-qa-db-ja.com

Splunkユニバーサルフォワーダーが「DetermineContextForAllProductsが0x65bで失敗しました」で失敗する

SplunkUniversalForwarderをSCCMアプリケーションとしてMSI展開タイプを使用してテストサーバーの小さなグループに展開しようとしていますが、MSIインストーラーで特徴のない混乱を招く問題が発生しています。

デプロイメントタイプ自体は非常に単純です。 MSIファイル(splunkforwarder-6.2.1-245427-x64-release.msi)をSCCMサイトサーバーにアップロードし、検出方法をMSIから自動入力させました。唯一のことインストール文字列を変更して、次の引数を含めました。

_msiexec.exe /lv splunkinstall.log /i "splunkforwarder-6.2.1-245427-x64-release.msi" AGREETOLICENSE=YES DEPLOYMENT_SERVER="splunkd.security.contoso.com" /quiet /norestart /qn
_


_/lv_スイッチが含まれているため、C:\ Windows\CCMcacheフォルダーに移動してインストールログを表示できます。

_GetPreviousSettings:  Error: DetermineContextForAllProducts failed witht: 0x65b.
GetPreviousSettings:  Error 0x80004005: Failed to GetInstalledSplunkSettings.
GetPreviousSettings:  Info: Leave GetPreviousSettings: 0x80004005.
CustomAction GetPreviousSettings returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 14:20:23: GetPreviousSettings. Return value 3.
_


ちょっとしたグーグルフーと私はこの投稿を Splunkのコミュニティサポート で見つけましたが、私は答えの正しさにひどく自信がありません。ただし、失敗したインストーラーの手順isGetInstalledSplunkSettingsなので、レジストリを調べて、古い製品キーまたはインストーラーキーが誤って、インストーラーがUniversalForwarderの存在しないインスタンスをアンインストールしようとしていないかどうかを確認する必要があります。

ProcMonとレジストリの手動検索を組み合わせて、関連していると思われる次のキーを見つけることができました。

_HKCR:\Installer\Products\B0271F4D65C5D084FA81634DC56AD4A
HKCR:\Installer\Features\B0271F4D65C5D084FA81634DC56AD4AE
HKCR:\Installer\UpgradeCodes\13631B46466632F4FA2E89CF8E9602DB

HKLM:\SOFTWARE\Classes\Installer\Features\B0271F4D65C5D084FA81634DC56AD4AE
HKLM:\SOFTWARE\Classes\Installer\UpgradeCode\13631B46466632F4FA2E89CF8E9602DB
_


インストール中のProcMonイベント:

_10:17:31.8751924 AM MsiExec.exe 7436    RegQueryKey HKLM    SUCCESS Query: HandleTags, HandleTags: 0x0
10:17:31.8752103 AM MsiExec.exe 7436    RegOpenKey  HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\S-1-5-18\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE   NAME NOT FOUND  Desired Access: Read
10:17:31.8752409 AM MsiExec.exe 7436    RegQueryKey HKU SUCCESS Query: HandleTags, HandleTags: 0x0
10:17:31.8752584 AM MsiExec.exe 7436    RegOpenKey  HKU\S-1-5-18\Software\Microsoft\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE REPARSE Desired Access: Read
10:17:31.8752831 AM MsiExec.exe 7436    RegOpenKey  HKU\.DEFAULT\Software\Microsoft\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE NAME NOT FOUND  Desired Access: Read
10:17:31.8753062 AM MsiExec.exe 7436    RegQueryKey HKLM    SUCCESS Query: HandleTags, HandleTags: 0x0
10:17:31.8753230 AM MsiExec.exe 7436    RegOpenKey  HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE    SUCCESS Desired Access: Read
10:17:31.8753486 AM MsiExec.exe 7436    RegQueryValue   HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE\ProductName    SUCCESS Type: REG_SZ, Length: 38, Data: UniversalForwarder
10:17:31.8753716 AM MsiExec.exe 7436    RegCloseKey HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE    SUCCESS 

10:34:31.5741168 AM MsiExec.exe 7560    RegEnumKey  HKCR\Installer\Products SUCCESS Index: 11, Name: B0271F4D65C5D084FA81634DC56AD4AE

10:34:31.5744153 AM MsiExec.exe 7560    RegOpenKey  HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE    SUCCESS Desired Access: Read
10:34:31.5744407 AM MsiExec.exe 7560    RegQueryValue   HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE\ProductName    SUCCESS Type: REG_SZ, Length: 38, Data: UniversalForwarder
10:34:31.5744637 AM MsiExec.exe 7560    RegCloseKey HKCR\Installer\Products\B0271F4D65C5D084FA81634DC56AD4AE    SUCCESS 
_


これで面白くなりました!成功を期待してキーを削除し、クライアントアプリケーションの展開と評価のサイクルを実行すると、同じ期待外れの結果が得られます。これらのキーのNTFSアクセス許可を再確認したところ、SYSTEMには反証されているように見えるフルコントロールがあります この回答 _0x80004005_を示しています。うーん。インストールを手動で実行するとどうなりますか?

同じインストーラー、同じインストール引数(AppEnforce.logから直接コピーして貼り付ける)は、管理者として実行cmd.exeプロンプトから実行され、同じステップで同じエラーで失敗します。戻ってレジストリキーを再度削除し、cmd.exeからインストーラーを再実行すると動作します!LOL WUT?

要約しましょう:

  • レジストリキーが存在する場合、インストーラーはDetermineContextForAllProductsインストールステップで、SCCMクライアントによって実行され、私が手動で実行した場合の両方で失敗します。
  • レジストリキーを削除すると、SCCMクライアントはインストーラーを実行しようとし、DetermineContextForAllProductsステップで失敗します。
  • レジストリキーを削除し、手動で実行した場合同じ引数を持つ同じインストーラー管理者として実行cmd.exeからプロンプトが表示されます。 ¯\_(ツ)_/¯
  • 2つの非常に異なるサーバーで同じ結果が得られます。


何か案は? ProcMonイベントのコピー全体、またはその他の情報が役立つ場合は、喜んで提供します。

5
user62491

サポートから返信がありました。これは6.2.2の既知の問題であり、今後のバージョンでリリースするための修正がすでにパイプラインにあります。バージョン番号をお約束することはできませんが、欠陥番号SPL-95121のリリースノートを見ることができます。

5
halr9000

Splunk 6.2.2をインストールしようとしたときに、Windowsのコマンドラインをスローすることもありました。

ProcMonで調査した結果、問題はSplunkの別のインストールが見つかったことが原因であることがわかりました。

製品コードを含む次のレジストリキーを検索します。

HKU\S-1-5-18\Software\Microsoft\Installer\Products
HKCR\Installer\Products
HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\S-1-5-18\Installer\Products
HKU\.DEFAULT\Software\Microsoft\Installer\Products

何らかの理由で、期待どおりのMSIエラーではなく、前述のエラーで失敗します。

それらのレジストリキーを調べて、問題を引き起こしているものを見つけてください

0
user279461