答案1
是的,您可以看到标记为删除的包列表,此列表直接存储在策略对象中。
每个包实际上都是 GPO 对象中的一个子项,例如,下面是包含 2 个包的 GPO 的内容(在 ADSI Edit 中查看):
关于的技术文档组策略软件安装部分2.2.3.2.3 Package Creation Message
指出,如果应用程序被删除,则 LDAP 属性msiScriptName
(在包中)将保留值“R”。
因此,您可以使用以下 LDAP 查询获取列表:
(&(objectClass=packageRegistration)(msiScriptName=R))
有趣的属性是:
displayName;msiFileList;msiScriptName;packageFlags
如果您在继承的环境中发现已删除的软件包并且不想再卸载它们,我建议您销毁包含这些不需要的引用的 GPO。
您还应该查看packageFlags
属性(记录在第节中2.2.2.4.3 packageFlags Attribute Values
),以确定包是否孤儿(ACTFLG_Orphan
=> 意思是“已经安装此应用程序的客户端不得执行应用程序删除操作”)或已卸载(ACTFLG_Uninstall
=> 意思是“客户端必须删除此应用程序”)。