PowerShell を使用して msi をインストールしたユーザーを見つける必要があります。
HKEY_USERS で検索しようとしましたが、msi をインストールしたユーザーのユーザー名ではなく、ユーザーの sid を提供しています。
インストール済みのユーザーを見つける方法はありますか?
PowerShell を使用して msi をインストールしたユーザーを見つける必要があります。
HKEY_USERS で検索しようとしましたが、msi をインストールしたユーザーのユーザー名ではなく、ユーザーの sid を提供しています。
インストール済みのユーザーを見つける方法はありますか?
(sid があれば、ユーザー名がわかります。なぜでしょうか?)
ただし、msi が自分のものである場合、最善の方法は、セットアップ中にその情報をレジストリ値に保存するか、後で読み取ることができる .ini ファイルにすることです。「LogonUser」と「USERNAME」の 2 つのプロパティがあり、後者は実際にインストールするユーザーです。
msi自体に影響を与えていない場合、それが簡単かどうかはわかりません。その場合、sids を解釈するのは良い方法のようです。
それにもかかわらず:
標準的な方法は、API ルーチン MsiGetProductInfo() または MsiGetProductInfoEx() を使用することです。MSDN でググることができます。ただし、セットアップ ダイアログ中にこれらのデータが登録されていない場合、常に情報が含まれているかどうかはわかりません。登録ダイアログがなかった場合、サイレントインストール後に空になるのでしょうか? ソフトウェアとしてインストールしたユーザーを見つけるためにそれらを使用したことはありません。通常、独自のセットアップでは、これは明示的なダイアログまたはアクションで行われます。