繁体   English   中英

如何找到msi的已安装用户?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM