Set-ExecutionPolicy bypass -Scope process -Force
# exit script if Office click to run is not Installed
if (! (test-path 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration')) { exit }
#************************DO NOT EDIT********************************
$nse = new-object -comobject Altiris.AeXNSEvent
$nse.priority = 1
$nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}"
#************************DO NOT EDIT********************************
#Modify this varaible with the custom data class guid
$objDCInstance = $nse.AddDataClass("{00000000-0000-0000-0000-000000000000}")
$objDataClass = $nse.AddDataBlock($objDCInstance)
$O365_Inv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration'
$channel_lookup = @{
'http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be' = 'Insider Preview / Monthly (Targeted)'
'http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60' = 'Monthly'
'http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf' = 'Semi-Annual (Targeted)'
'http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114' = 'Semi-Annual'
}
$O365_ver_lookup = @{
6741 = 1602
6769 = 1603
6965 = 1605
7070 = 1606
7167 = 1607
7369 = 1601
7466 = 1610
7571 = 1611
7668 = 1612
7766 = 1701
7870 = 1702
7967 = 1703
8067 = 1704
8201 = 1705
8229 = 1706
8326 = 1707
8431 = 1708
8528 = 1709
8625 = 1710
8711 = 1711
8730 = 1711
8827 = 1712
9001 = 1801
9029 = 1802
9126 = 1803
9226 = 1804
9330 = 1805
10228 = 1806
10325 = 1807
10730 = 1808
10827 = 1809
11001 = 1810
11029 = 1811
11121 = 1812
11126 = 1812
11231 = 1901
11328 = 1902
11425 = 1903
11601 = 1904
11629 = 1905
11727 = 1906
11901 = 1907
11929 = 1908
}
$O365_Inv = $O365_Inv | select ProductReleaseIDs, versiontoreport, @{n= 'Version'; e={ $O365_ver_lookup.item( ([version]$_.VersionToReport).Build) }},
@{ n='Channel';e={ $channel_lookup.item($_.CDNBaseUrl) }}, ClientCulture, InstallationPath,Platform, Activate,UpdatesEnabled, UpdateURL
# Get-ItemProperty 'hklm:\SOFTWARE\Microsoft\Office\ClickToRun\' | select Last*
foreach ($data in $O365_Inv) {
#Add new row of data
$objDataRow = $objDataClass.AddRow()
#popluate columns
$objDataRow.SetField(0, $data.ProductReleaseIds)
$objDataRow.SetField(1, $data.VersionToReport)
$objDataRow.SetField(2, $data.Version)
$objDataRow.SetField(3, $data.Channel)
$objDataRow.SetField(4, $data.ClientCulture)
$objDataRow.SetField(5, $data.InstallationPath)
$objDataRow.SetField(6, $data.Platform)
$objDataRow.SetField(7, $data.Activate)
$objDataRow.SetField(8, $data.UpdatesEnabled)
$objDataRow.SetField(9, $data.UpdateURL)
}
#Send the data
$nse.sendqueued()
|