Hi,
Thank you, I am getting confused.
Can you explain in details like how to configure the SCCM server.
Regards
Rajan
From: [email protected] [mailto:[email protected]]
On Behalf Of Sherry Kissinger
Sent: 18 February 2015 04:14
To: [email protected]
Subject: Re: [mssms] mof file for Adobe Acrobat products
This isn't quite what you mean; but our license folk were interested in
this:
http://myitforum.com/myitforumwp/2012/06/13/gather-some-adobe-software-seria
l-numbers-using-configmgr-dcm-and-hardware-inventory/
On Tuesday, February 17, 2015 3:12 PM, "Murray, Mike" <[email protected]
<mailto:[email protected]> > wrote:
This
From: [email protected] <mailto:[email protected]>
[mailto:[email protected]] On Behalf Of Daniel Ratliff
Sent: Tuesday, February 17, 2015 11:50 AM
To: [email protected] <mailto:[email protected]>
Subject: RE: [mssms] mof file for Adobe Acrobat products
Why do you need a .mof file? Just use hardware inventory or asset
intelligence.
Daniel Ratliff
From: [email protected] <mailto:[email protected]>
[mailto:[email protected]] On Behalf Of Rajan Tri
Sent: Tuesday, February 17, 2015 2:34 PM
To: [email protected] <mailto:[email protected]>
Subject: [mssms] mof file for Adobe Acrobat products
Hi,
I am trying to enable Hardware inventory class for adobe
acrobat products, But unable to find the options.
Anyone tried this option? How can we create mof file for
Acrobat products.
Regards
Rajan
The information transmitted is intended only for the person or entity to
which it is addressed
and may contain CONFIDENTIAL material. If you receive this
material/information in error,
please contact the sender and delete or destroy the material/information.
On Error Resume Next
'--------------------
'Based on
http://blogs.adobe.com/oobe/2009/11/software_tagging_in_adobe_prod_1.html
'
'Steps to find Adobe Serial Numbers based on .swtag files.
'1. Target machines with Adobe software (but not Reader)
'2. These are the folders to look in:
' If XP or Server03, then these two:
' %ALLUSERSPROFILE%\Application Data\Adobe\ISO-19770\
' %ALLUSERSPROFILE%\Application Data\regid.1986-12.com.adobe\
' If Vista or Server08 or 7 (and possibly Server8, but I'm not sure), then
these two:
' %PROGRAMDATA%\Adobe\ISO-19770\
' %PROGRAMDATA%\regid.1986-12.com.adobe\
'3. In those folders, look for and record for later opening and parsing with an
xmlparser,
' any files ending in .swtag
' a. inside the .xml, tages of interest:
' <sat:Product_title> OR <product>
' <swid:product_version>
' <sat:name> (this is actually the version)
' OR <product_version> as the version
' <sat:unique_id>
' <sat:activation_status>
' <sat:channel_type>
' <sat:customer_type>
' <sat:serial_number>
'4. using an xmlparser, open up each found .swtag file, and get the info into
an array
'5. Dump that info into a custom wmi namespace or regkeys for later retrieval.
'6. Mof edit that information back. (remove the ' comment at the beginning of
each line
' before adding to the bottom of your sms_def.mof)
' [ SMS_Report (TRUE),
' SMS_Group_Name ("AdobeInfo"),
' SMS_CLASS_ID ("CUSTOM|AdobeInfo|1.0") ]
' class cm_AdobeInfo : SMS_Class_Template
' {
' [SMS_Report (TRUE), key] uint32 Counter;
' [SMS_Report (TRUE) ] string LicenseState;
' [SMS_Report (TRUE) ] string PartOfASuite;
' [SMS_Report (TRUE) ] string ScriptLastRan;
' [SMS_Report (TRUE) ] string SerialNumber;
' [SMS_Report (TRUE) ] string Title;
' [SMS_Report (TRUE) ] string Version;
' };
'-----End of What the Script is Meant to Do, below is the actual script----
'Step 2: getOSBuild and figure out folders to look in.
'read win32_operatingsystem for osversion, 5.x are win2k, xp, and server03
' 6.x are vista and higher.
'-------------------------------------------------------------------------
strcomputer = "."
set sho = wscript.CreateObject("Wscript.Shell")
set fso = CreateObject("Scripting.FileSystemObject")
DIM StrFolder(1)
Set ObjWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set colItems = objWMIService.ExecQuery("Select Version from
win32_operatingSystem",,48)
For each objItem in colItems
if left(objItem.Version,1)="5" then
strBaseFolder=sho.ExpandEnvironmentStrings("%ALLUSERSPROFILE%") &
"\Application Data\"
else
strBaseFolder=Sho.ExpandEnvironmentStrings("%PROGRAMDATA%") & "\"
end if
Next
strFolder(0) = strBaseFolder & "Adobe\ISO-19770"
strFolder(1) = strBaseFolder & "regid.1986-12.com.adobe"
'wscript.echo strfolder(0)
'wscript.echo strfolder(1)
'------------------------
'Step 3: Look inside those folders for .swtag files
'------------------------
DIM StrFiles(30)
j=0
For i=0 to 1
err.clear
Set Folder = fso.GetFolder(strFolder(i))
if err.number <> 0 then
' wscript.echo "Error Number: " & err.number & ", " & err.Description
else
Set files = folder.Files
For each File in Files
if lcase(right(file.name,5))="swtag" or lcase(right(file.name,7))="swidtag"
then
strfiles(j) = strfolder(i) & "\" & file.Name
' wscript.echo strfiles(j)
j=j+1
end if
Next
end if
Next
'-----------------------
'Step 4: xmlparse out the tag information of interest to us
'-----------------------
k=0
Dim Values(20,5)
for k=0 to j-1
Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLdoc.load(strfiles(k))
if objxmldoc.parseError.errorcode<>0 then
'wscript.echo "Failed to get the xml file, with error: " &
objxmldoc.parseerror.errorcode
else
Set ObjSerNum = objxmlDoc.GetElementsByTagName("serial_number")
Values(k,0) = ObjSerNum.item(0).Text
if len(values(k,0))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("sat:serial_number")
Values(k,0) = ObjTitle.item(0).Text
if len(values(k,0))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("swid:serial_number")
Values(k,0) = ObjTitle.item(0).Text
end if
end if
Set ObjlicState = objxmlDoc.GetElementsByTagName("license_state")
Values(k,1) = ObjlicState.item(0).Text
if len(values(k,1))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("sat:activation_status")
Values(k,1) = ObjTitle.item(0).Text
if len(values(k,1))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("swid:activation_status")
Values(k,1) = ObjTitle.item(0).Text
end if
end if
Set ObjSuitePart = objxmlDoc.GetElementsByTagName("part_of_suite")
Values(k,2) = ObjSuitePart.item(0).Text
if len(values(k,2))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("sat:unique_id")
Values(k,2) = ObjTitle.item(0).Text
if len(values(k,2))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("swid:unique_id")
Values(k,2) = ObjTitle.item(0).Text
end if
end if
Set ObjTitle = objxmlDoc.GetElementsByTagName("sat:product_title")
Values(k,3) = ObjTitle.item(0).Text
if len(values(k,3))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("product")
Values(k,3) = ObjTitle.item(0).Text
if len(values(k,3))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("swid:product_title")
Values(k,3) = ObjTitle.item(0).Text
end if
end if
Set ObjVersion = objxmlDoc.GetElementsByTagName("sat:name")
Values(k,4) = ObjVersion.item(0).Text
if len(values(k,4))=0 then
Set ObjVersion = objxmlDoc.GetElementsByTagName("version")
Values(k,4) = ObjVersion.item(0).Text
if len(values(k,4))=0 then
Set ObjTitle = objxmlDoc.GetElementsByTagName("swid:name")
Values(k,4) = ObjTitle.item(0).Text
end if
end if
' wscript.echo "SerNum: " & Values(k,0)
' wscript.echo "LicenseState: " & Values(k,1)
' wscript.echo "Part of Suite: " & Values(k,2)
' wscript.echo "Title: " & values(k,3)
' wscript.echo "Version: " & values(k,4)
end if
next
'-------------
'Step 5: Create and populate a custom WMI namespace
'-------------
Dim wbemCimtypeString
Dim wbemCimtypeUint32
wbemCimtypeString = 8
wbemCimtypeUint32 = 19
Set oLocation = CreateObject("WbemScripting.SWbemLocator")
'Remove classes
Set oServices = oLocation.ConnectServer(, "root\cimv2")
set oNewObject = oServices.Get("cm_AdobeInfo")
oNewObject.Delete_
'Create data class structure
Set oServices = oLocation.ConnectServer(, "root\cimv2")
Set oDataObject = oServices.Get
oDataObject.Path_.Class = "cm_AdobeInfo"
oDataObject.Properties_.add "Counter", wbemCimtypeUint32
oDataObject.Properties_.add "LicenseState", wbemCimtypeString
oDataObject.Properties_.add "PartOfASuite", wbemCimtypeString
oDataObject.Properties_.add "SerialNumber", wbemCimtypeString
oDataObject.Properties_.add "Title", wbemCimtypeString
oDataObject.Properties_.add "Version", wbemCimtypeString
oDataObject.Properties_.add "ScriptLastRan", wbemCimtypeString
oDataObject.Properties_("Counter").Qualifiers_.add "key", True
oDataObject.Put_
'Add instances
Set oServices = oLocation.ConnectServer(, "root\cimv2")
For m = 0 to j-1
Set oNewObject = oServices.Get("cm_AdobeInfo").SpawnInstance_
oNewObject.Counter = m
oNewObject.LicenseState = Values(m,1)
oNewObject.PartOfASuite = Values(m,2)
oNewObject.SerialNumber = Values(m,0)
oNewObject.Title = Values(m,3)
onewObject.Version = Values(m,4)
oNewObject.ScriptLastRan = Now
oNewObject.Put_
Next
wscript.quit