SCCMでレジストリに値を格納、インベントリで取得するときの32bit, 64bitの違いについての注意点

64bit OSに対して32bitプログラムでレジストリに値を書き込むと、64bit版のレジストリエディタでは「HKEY_LOCAL_MACHINESoftwareWOW6432Node」に値が保存されます。32bitのレジストリエディタからは通常通りの値に見えます。 - [64 ビット バージョンの Windows でシステム レジストリを表示する方法](http://support.microsoft.com/kb/305097/ja) System Center Configuration Managerにてレジストリの中に書き込まれている値をインベントリで収集する場合にこの部分が混乱の元になります。 また、クライアントにインストールされるエージェントは基本的に以下のようになります。 - 32ビットOSにインストールされるエージェントは32ビット - 64ビットOSにインストールされるSCCMのエージェントは64ビット どちらのバージョンのエージェントが動いているかはタスクマネージャーでccmexec.exeを確認すれば確認する事ができます。 32bitでレジストリに値を書き込むようにしておき、それを64bitのクライアントから読もうとすると読めない!というような事になってしまう可能性があります。 対策としては、32bit、64bitにかかわらずレジストリの同じ場所に値が書き込まれるべきで、.net frameworkで作成されているプログラムであれば、これはプロジェクトのビルド設定でプラットフォームターゲットを「Any CPU」に設定すればOKです。 32bitOS上のVisual Studioで新規にプロジェクトを作った状態だと、この値はx86に設定されていました。注意が必要だと思います。

March 1, 2013 · 1 min · 胡田昌彦

SCCMでレジストリに値を格納、インベントリで取得するときの32bit, 64bitの違いについての注意点

SystemCenter関連の記事は以下のブログに移行しました。 - [System Center Blog](http://ebi.dyndns.biz/systemcenter/) この記事は以下の記事に移行しました。 - [SCCMでレジストリに値を格納、インベントリで取得するときの32bit, 64bitの違いについての注意点 | System Center Blog](http://ebi.dyndns.biz/systemcenter/2013/03/01/sccm%E3%81%A7%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA%E3%81%AB%E5%80%A4%E3%82%92%E6%A0%BC%E7%B4%8D%E3%80%81%E3%82%A4%E3%83%B3%E3%83%99%E3%83%B3%E3%83%88%E3%83%AA%E3%81%A7%E5%8F%96%E5%BE%97/)

March 1, 2013 · 1 min · 胡田昌彦