【Intune】HKEY_LOCAL_MACHINE\SOFTWARE 直下にレジストリキーを作成する際の工夫

IntuneのWin32アプリを用いてレジストリキーを配布する機会があり、その中で「HKEY_LOCAL_MACHINE\SOFTWARE」直下にレジストリキーを作成するためのWin32アプリを展開するケースがありました。

その際に「レジストリリダイレクション」という事象の影響を受け、意図した場所にレジストリキーを作成できず困った経験があります。

※レジストリリダイレクションとは、64bit版のWindowsシステム上で32bitのプログラムが64bitのレジストリを参照する際に、32bit用に用意された場所へリダイレクトされる仕組みのことです。

この事象は、展開時にIntune管理センターにて設定するインストールコマンドを工夫することで回避することが可能でした。

実際に、無事「HKEY_LOCAL_MACHINE\SOFTWARE」直下にレジストリキーを作成することができたため、以下に私の体験も踏まえつつ、具体的なインストールコマンドの工夫内容をご紹介します。

前提

本記事では、レジストリキーを追加するための以下のコマンドを記載したbatファイルをintunewinパッケージ化し、IntuneからWin32アプリとして展開してレジストリキーを作成するケースを例として説明いたします。

  • ファイル名:test_RegAdd_HklmSW.bat
  • コマンド:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\test" /f

インストールコマンドの工夫の結論

工夫の説明については後続で記載しますが、結論としては以下のようにインストールコマンドを工夫することで「HKEY_LOCAL_MACHINE\SOFTWARE」直下にレジストリキーを作成することができます。

  • 工夫前:test_RegAdd_HklmSW.bat
  • 工夫後:C:\Windows\Sysnative\cmd /c "test_RegAdd_HklmSW.bat"

インストールコマンドの工夫について説明

失敗例

IntuneからWin32アプリを使ってbatファイルを展開し実行する際に、管理センター画面にて設定するインストールコマンドは以下のような例が一般的かと思います。

例:test_RegAdd_HklmSW.bat

上記のインストールコマンドを設定し展開した場合、レジストリリダイレクションの影響を受けてしまい「HKEY_LOCAL_MACHINE\SOFTWARE」直下ではなく、「HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node」配下へキーが作成されてしまいます。

成功例

上記のようにレジストリリダイレクションの影響を受けることなく展開する方法の一つに、インストールコマンドを以下のように工夫する手段があります。

例:C:\Windows\Sysnative\cmd /c "test_RegAdd_HklmSW.bat"

上記のコマンドをインストールコマンドに設定しIntuneから展開した場合、レジストリリダイレクションを回避し、想定通り「HKEY_LOCAL_MACHINE\SOFTWARE」直下へキーを作成することができます。

補足

Microsoftにも本事象について確認したところ、Intune から配布する Win32 アプリやスクリプトは Microsoft Intune Management Extension( 以下、IME)によってインストールや実行がされますが、IME は 32 bit アプリケーションであるため、そのままプログラムを実行すると %WinDir%\SysWOW64 フォルダーにある 32bit のプログラムが実行されてしまうそうです。

そのため、例えば32bit プロセスのプログラム から HKLM\SOFTWARE\Microsoft の値を追加しようとした場合、レジストリリダイレクションの影響を受け、実際にはHKLM\SOFTWARE\Wow6432Node\Microsoft に値が作成されてしまい、意図した場所にキーが追加できないケースがあるとのことでした。

インストールコマンドに「C:\Windows\Sysnative\cmd /c」を付けたことよって、64bit版のWindowsシステムで32bitアプリケーション(IME)から64bitのプログラム(cmd)が実行されるようになり、レジストリリダイレクションを回避して想定通りの場所にレジストリキーが展開できたと理解しています。

※レジストリリダイレクションの詳細につきましては、以下に参考サイトを記載いたしますので必要に応じてご確認ください。

参考

レジストリ リダイレクター - Win32 apps | Microsoft Learn

最後に

本記事では、Intuneを用いて「HKEY_LOCAL_MACHINE\SOFTWARE」直下にレジストリキーを作成する際の注意点として、インストールコマンドの工夫方法についてご紹介いたしました。

本記事の内容がお役に立ててば幸いです。

執筆担当者プロフィール
佐藤 大明

佐藤 大明(日本ビジネスシステムズ株式会社)

これまで主にセキュリティ関連の施策に従事してきました。2025年現在はゼロトラストの考え方を軸としたネットワークアーキテクチャの実現の支援に携わっています。趣味はバスケです。学生時代の部活動より熱中しています。

担当記事一覧