PluginsOCSInventory-NG / officepack

Retrieve microsoft office keys
GNU General Public License v2.0
15 stars 27 forks source link

Update msofficekey.vbs #69

Closed eduardomozart closed 3 years ago

eduardomozart commented 3 years ago

I've commited some changes into msofficekey.vbs to better support for Office FPP and C2R (Click-to-Run) installations.

Here's the output of msofficekey.vbs before:

<OFFICEPACK>
<OFFICEVERSION>2003</OFFICEVERSION>
<PRODUCT>Microsoft Office Professional Edição 2003</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>64</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90110416-6000-11D3-8CFE-0150048383C9}</GUID>
<INSTALL>0</INSTALL>
<NOTE></NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION>2007</OFFICEVERSION>
<PRODUCT>Microsoft Office Enterprise 2007</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>64</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90120000-0030-0000-0000-0000000FF1CE}</GUID>
<INSTALL>0</INSTALL>
<NOTE></NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION>2010</OFFICEVERSION>
<PRODUCT>Microsoft Office Professional 2010</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>64</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90140000-003D-0000-0000-0000000FF1CE}</GUID>
<INSTALL>0</INSTALL>
<NOTE>HomeBusinessR</NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION> Office 19, RETAIL channel</OFFICEVERSION>
<PRODUCT> Office 19, Office19HomeBusiness2019R_Retail edition</PRODUCT>
<PRODUCTID> XXXXX-XXXXX-XXXXX-XXXXX</PRODUCTID>
<TYPE>1</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-R62YT</OFFICEKEY>
<GUID> 7fe09eef-5eed-4733-9a60-d7019df11cac</GUID>
<INSTALL>1</INSTALL>
<NOTE></NOTE>
</OFFICEPACK>

Here's the msofficekey.vbs output after the changes:

<OFFICEPACK>
<OFFICEVERSION>2003</OFFICEVERSION>
<PRODUCT>Microsoft Office Professional Enterprise Edition 2003</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>64</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90110416-6000-11D3-8CFE-0150048383C9}</GUID>
<INSTALL>0</INSTALL>
<NOTE></NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION>2007</OFFICEVERSION>
<PRODUCT>Microsoft Office Enterprise 2007</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>32</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90120000-0030-0000-0000-0000000FF1CE}</GUID>
<INSTALL>0</INSTALL>
<NOTE></NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION>2010</OFFICEVERSION>
<PRODUCT>Microsoft Office Home and Business 2010</PRODUCT>
<PRODUCTID>XXXXX-XXX-XXXXXXX-XXXXX</PRODUCTID>
<TYPE>32</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</OFFICEKEY>
<GUID>{90140000-003D-0000-0000-0000000FF1CE}</GUID>
<INSTALL>0</INSTALL>
<NOTE>HomeBusinessR</NOTE>
</OFFICEPACK>
<OFFICEPACK>
<OFFICEVERSION>2019</OFFICEVERSION>
<PRODUCT>Microsoft Office Home and Business 2019 - pt-br</PRODUCT>
<PRODUCTID>00404-47568-54363-AA336</PRODUCTID>
<TYPE>32</TYPE>
<OFFICEKEY>XXXXX-XXXXX-XXXXX-XXXXX-R62YT</OFFICEKEY>
<GUID>7fe09eef-5eed-4733-9a60-d7019df11cac</GUID>
<INSTALL>1</INSTALL>
<NOTE>HomeBusiness2019Retail</NOTE>
</OFFICEPACK>

Note that, for obvious reasons, I censored the ProductID and OfficeKey nodes with X's.

The code was also updated to detect Office C2R installations by querying the "SOFTWARE\Microsoft\Office\ClickToRun" subkey. If Office 2019+ is installed, now the code detect it's friendly name/edition (Microsoft Office Home and Business 2019 - pt-br) instead of reporting the "License Name" information from "OSPP.vbs".

The detection for older versions of Office was improved too. If they aren't installed, it was being reported it's wrong edition because instead of using the value from "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" (that doesn't exists anymore, so obviously there's no Office key there), the script uses "ProductName" and "ConvertToEdition" values instead, but these values doesn't matches the edition of the Office that was really installed into the machine.