有没有办法使用 PowerShell 命令(主要从注册表中)从 Windows 服务器获取 Oracle 服务器版本号。我已获得从 inventory.xml 文件中获取它的命令。但是,为此,我需要扫描特定目录并获取值。这需要花费大量时间,因此性能会降低。还有其他选择吗?
答案1
是的,只需点击卸载注册表项。那里的信息最可靠。与任何其他软件清单工作没有什么不同。下面显示了示例。注意避免使用 Win32Product,因为它真的很慢并且对工作产生负面影响,坚持使用注册表。
# registry locations where installed software is logged
$pathAllUser = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"
$pathCurrentUser = "Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"
$pathAllUser32 = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
$pathCurrentUser32 = "Registry::HKEY_CURRENT_USER\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
Get-RemoteProgram 获取远程或本地计算机上已安装程序的列表
此脚本通过查询注册表并返回本地或远程计算机已安装的程序来生成列表。它还允许检索其他属性,例如应用程序的卸载字符串。
https://gallery.technet.microsoft.com/scriptcenter/Get-RemoteProgram-Get-list-de9fd2b4
使用 PowerShell 在 HTML 文件中创建“远程计算机的软件清单”
注意:请将此脚本视为教育目的,请勿在生产环境中运行它。此脚本使用 Win32_product WMI 类,并调用 MSI 来获取软件列表,有时 MSI 会开始重新配置软件,请参阅此链接 http://支持。
https://gallery.technet.microsoft.com/scriptcenter/Software-Inventory-of-f66b5bdc
Powershell:服务器的远程清单
在 powershell 中远程创建服务器清单。
https://gallery.technet.microsoft.com/scriptcenter/Powershell-Servers-remote-fff0d4a9