How to use Symantec Custom Inventory to report Microsoft Office 365 Update Channel

File:Office 365 logo.png

Open SMP Console – > Settings -> All Settings -> Discovery and Inventory -> Inventory Solution -> Manage Custom Data Classes -> New data class -> Office 365 Update Channels

Create a Custom Data Class  

Add a Attribute with the following Parameters:
Name: O365_Update_Channel
Data type: String 
Maximum size: 100 
Key: No 

Create a new Task 

Open SMP Console – > Manage -> Jobs and Tasks -> right click and select New -> Task -> Run Script

change „Script Type“ to VBScript and paste VBScript below…  
(also take a look at: https://support.symantec.com/us/en/article.howto126871.html

'Pick the appropriate WMI registry hive code and comment the line you don’t use 
Const HKEY_LOCAL_MACHINE = &H80000002 
Set wshShell = WScript.CreateObject( "WScript.Shell" ) 
ComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" ) 
 
set nse = WScript.CreateObject ("Altiris.AeXNSEvent") 
nse.To = "{1592B913-72F3-4C36-91D2-D4EDA21D2F96}" 'Do not modify this GUID 
nse.Priority = 1 
dim objDCInstance 
set objDCInstance = nse.AddDataClass ("Office 365 Update Channels") 'Your Data Class Here 
set objDataClass = nse.AddDataBlock (objDCInstance) 
 
KeyPath = "SOFTWARE\Microsoft\Office\ClickToRun\Configuration" 'Your Registry Key Path Here 
ValueName = "CDNBaseUrl" 'Your Registy Entry Here 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 
 
'Use the HKEY constant defined earlier and use the oReg function appropriate to the type of data in the registry entry 
error_returned = oReg.GetStringValue(HKEY_LOCAL_MACHINE,KeyPath,ValueName,Value) 
if error_returned <> 0 then 
KeyPath = "SOFTWARE\Microsoft\Office\ClickToRun\Configuration" 
error_returned = oReg.GetStringValue(HKEY_LOCAL_MACHINE,KeyPath,ValueName,Value) 
end if 
 
set objDataRow = objDataClass.AddRow 
objDataRow.SetField 0, Value 
'If your data class has more than one attribute add a line for each 
'objDataRow.SetField 1, Value2 
nse.Send 
'Uncomment the line below for testing purposes 
'MsgBox nse.Xml

Create a "New Schedule" to run the Task on all Clients Computers!

Check if the Data exists on a Client Computer 

In this example it is the: O365 Semi-Annual Channel 

Here is a list of Office 365 Update Channels 

Create Filters for the different Channels 

Open SMP Console – > Manage ->Filters -> create a new Folder or use an existing on -> right click -> New -> Filter -> Name the new Filter for example: Clients with O365 – Semi-Annual Channel (Targeted) ->switch Filter Definition to Query Mode: Raw SQL  

-> under Parameterized Query paste the following SQL Query:  
select vc.[guid] from Inv_Office_365_Update_Channels ic  
join vComputer vc on vc.[guid] = ic._ResourceGuid  
where ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf&#8216;

Repeat the steps to create a Filter for all Channels 

  • Semi-Annual Channel (Targeted) (already created) 
  • Monthly Channel 
  • Monthly Channel (Targeted) 
  • Semi-Annual Channel 

Monthly Channel 

select vc.[guid] from Inv_Office_365_Update_Channels ic  
join vComputer vc on vc.[guid] = ic._ResourceGuid  
where ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60&#8216;

Monthly Channel (Targeted) 

select vc.[guid] from Inv_Office_365_Update_Channels ic  
join vComputer vc on vc.[guid] = ic._ResourceGuid  
where ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be&#8216;

Semi-Annual Channel 

select vc.[guid] from Inv_Office_365_Update_Channels ic  
join vComputer vc on vc.[guid] = ic._ResourceGuid  
where ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114&#8216;

Filters can also be used to change the Channel later if nessessary! 

Create a Report for O365 Update Channels 

Open SMP Console – >All Reports ->create a new Folder or use an existing one -> right click and select -> New ->Report-> SQL Report -> give the Report a name for example O365 Update Channel Version -> under Parameterized Query paste the following SQL Query  

select vc.name, vc.[ip address], vc.[os name], ic.[O365_Update_Channel],
case
when ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60&#8216; then ‚O365 Monthly Channel‘ 
when ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be&#8216; then ‚O365 Monthly Channel (Targeted)‘ 
when ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114&#8216; then ‚O365 Semi-Annual Channel‘ 
when ic.[O365_Update_Channel] = ‚http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf&#8216; then ‚O365 Semi-Annual Channel (Targeted)‘ 
else ’no Channel found‘ 
End as ‚O365 Channel‘ 
from Inv_Office_365_Update_Channels ic  
join vComputer vc on vc.[guid] = ic._ResourceGuid

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s