64-Bit Windowsプラットフォームにおける32-BitプログラムによるC:¥Windows\System32のリダイレクション
KACE内での指定 | (v13.2まで)エージェントが呼び出すファイルの実際のパス | (v14.0以上) |
---|---|---|
C:\Windows\System32内のファイル 例: cmd.exeの呼び出し あるいは フルパスC:\Windows\System32\cmd.exe | (->32 Bit) C:\Windows\Syswow64 内のファイル/コマンド | (64 Bit ネイティブ) C:\Windows\System32内のファイル/コマンド |
C:\Windows\SysNative\cmd.exe呼び出し | C:\Windows\System32\内のファイル (64 Bit ネイティブ) | 見つからない(エラー) |
参照される実際のレジストリ(OSコマンドで確認) | v13.2向けのレジストリキーの指定 | v14.0エージェント向けのレジストリキー指定 |
---|---|---|
(32-Bit用のパス) HKLM\SOFTWARE\Wow6432Node\MyKey reg.exeコマンドでの確認 C:\Windows\System32\reg.exe query HKLM\Software\MyKey /reg:32 または C:\Windows\Syswow64\reg.exe query HKLM\Software\MyKey | HKLM\SOFTWARE\MyKey または HKLM32\SOFTWARE\MyKey | HKLM32\SOFTWARE\MyKey |
(64-Bitネイティブのパス)HKLM\SOFTWARE\MyKey reg.exeコマンドでの確認 C:\Windows\System32\reg.exe query HKLM\Software\MyKey または C:\Windows\Syswow64\reg.exe query HKLM\Software\MyKey /reg:64 | HKLM64\SOFTWARE\MyKey または HKLMNAT\SOFTWARE\MyKey | HKLM\SOFTWARE\MyKey または HKLM64\SOFTWARE\MyKey または HKLMNAT\SOFTWARE\MyKey |
注意: 本記事では既存のエージェント管理デバイスはすべて64-Bit Windowsプラットフォームである前提であり、32-Bit Windowsへの対応は行わないものとして扱います。
次の場合も手直しが必要な場合があります。
以下のカスタムSQLレポートを実行すると手動作成ソフトウェアを抽出し名前とインベントリルール内容を一覧できます。SELECT ID ,DISPLAY_NAME ,INVENTORY_RULE FROM SOFTWARE WHERE (ifnull(IS_MANUAL,0 ) = 1) ORDER BY DISPLAY_NAME;
参考 手動作成したソフトウェアアイテムを見つける方法 (4260597)
v14.0以上の管理者UI ではカスタムインベントリルール付きアイテムのみを一覧できるメニュー(インベントリ | カスタムインベントリ )が新設されています。
上記の作業はデバイスのエージェントが14.0(以上)になる前であればサーバーのバージョンが13.xでも14.0以後でも構いません。
重要: お客様が作成済みのアイテムを今後も活用できるよう努力いたしますが、同一のKスクリプトがエージェント13.2以前、14.0以後で同じ挙動となる作り込みはお約束できません。現在有効化して利用しているKスクリプトに関して エージェントバージョン14.0更新後で挙動が読めない場合、有効→無効とし動作させない状態にして新規に14.0以降(ネイティブ)向けに作成しなおすこともご検討ください。新しいバージョン向けにはリダイレクションによる迂回を考慮する必要がなくなるため、元々テスト時にコマンドで実施できていた操作を組み込み直すだけとなることがほとんどです。Kスクリプトの変更において重要な部分はHKLM\SOFTWAREの下のレジストリと%WINDIR%\System32を前提としたファイルパスです。
SELECT
KT1.ENABLED
,KT1.ID
,KT1.NAME
,SP1.SECTION
,SP1.ATTR_VALUE
FROM KBOT KT1
LEFT JOIN KBOT_VERIFY_STEPS SP1 ON SP1.KBOT_ID=KT1.ID
WHERE KT1.TYPE NOT RLIKE 'system|oval|boot' AND SP1.ATTR_VALUE RLIKE 'SYS|HKEY_LOCAL_MACHINE.\SOFTWARE|HKLM.\SOFTWARE|KACE_DEPENDENCY_DIR'
ORDER BY 1 DESC,2,SP1.VERIFY_INDEX,SP1.STEP_INDEX;
列の区切り: ID,NAMEステップ「プログラムを起動します…」にてディレクトリおよびファイルを指定@echo off if exist "C:\Windows\SysNative\cmd.exe" goto wowflag if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64flag goto end :wowflag (v13.2までの処理 WOW64モード(32bit)から実行させたいコマンド/batファイルを呼び出す処理。Native実行させたいならC:\Windows\SysNative\...
を呼ぶようにする) goto end :x64flag (14.0以上 ネイティブ実行用のコマンド/batファイルの呼び出しを記述。 32bitでの実行させたい場合
C:\Windows\Syswow64\... を呼ぶようにする) goto end :end
SELECT M1.ENABLED,M1.NOTES ,M1.INSTALL_FULL_COMMANDLINE FROM MI M1 WHERE (IFNULL(M1.INSTALL_FULL_COMMANDLINE,'' ) != '' ) ORDER BY 1 DESC;
管理対象インストールに紐づけたアイテムに添付されたzip内の調査が必要となります。