[英]How to find installed user of msi?
我们需要找到使用PowerShell安装msi的用户。
我试图通过HKEY_USERS进行搜索,但它提供的是用户的sid,而不是安装msi的用户名。
有没有办法找到已安装的用户?
(如果你有一个sid,你可以找到用户名,为什么不呢?)
但是,如果msi是您的,最好的方法是在设置期间将该信息保存在注册表值或.ini文件中,以后可以读出。 有两个属性,“LogonUser”和“USERNAME”,后者是用户真正安装的。
如果你对msi本身没有影响,我不确定,如果这么容易。 解释sids似乎是一个好方法。
然而:
标准方法是使用API例程MsiGetProductInfo()或MsiGetProductInfoEx()。 你可以在MSDN中谷歌。 但如果在设置对话框中未注册这些数据,我不确定它们是否始终包含信息。 如果没有注册对话框,可能在静默安装后它们是空的? 我从未使用它们来查找已安装为软件的用户。 通常在自己的设置中,这是通过显式对话框或操作完成的。
其中一种方法可能是使用reg key
但Windows安装程序API中有一个名为MsiEnumProductsEx的函数
您必须指定它查询的用户SID并检查所有用户的所有已安装产品
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.