/build/static/layout/Breadcrumb_cap_w.png
10/16/2018 719 views

Looking on how to check if a version of .NET framework is installed on a machine with the K1.

Or better still.....which machines don't have a version of .NET framework  i.e (4.7.2).

Any ideas on how I search for that in the K1 device inventory?

I have checked in the "installed software" and "discovered software" in

the device detail page, but don't see any versions of ".NET framework" listed.

My brain cant seem to wrap itself around this problem this morning...... (Must be the hay fever...)

Thanks all.

0 Comments   [ + ] Show comments

Comments


All Answers

1
I would create an smartlabel with following options:
q7e69F.png

Softwaretitle contains Microsoft .Net Framework and
Softwareversion does not contain 4.7.2

Then you create a new package and assign the label to the package. With it you can update the obsolete version automatically.

This criterias works with the advanced search too if you don´t want to create a extra label.
Answered 10/16/2018 by: CarstenBuscher
Senior White Belt

  • NOTE: the second line in the above smart label will check ALL software for version 4.7.2

    Not that it is the most common version number, but if by chance a machine had a lower version of .NET but also a different software that IS version 4.7.2, it will still be left off the list of machines this smart label pulls.

    To correct this issue, you can edit the SQL code generated by the smart label and nest the version check into the software title check. (navigate to the Smart Label and click the Edit SQL button at the bottom of the label details)

    In essence, you copy the last "and" statement of the second-line-of-the-smart-label check and paste it just after the last "and" statement of the first line's check, then remove the second line check from the code (but make sure there are still enough closing parenthesis). To make this more confusing, since we are removing a portion of the code which has NOT in front of the second check, we need to add "not" in front of the software version "like" statement, in order to make sure we are looking for machines WITHOUT version 4.7.2 installed. See in nested example below.

    Example Original SQL (Used stars to denote where the second line of the smart label begins):

    SELECT MACHINE.NAME AS SYSTEM_NAME, SYSTEM_DESCRIPTION, MACHINE.IP, MACHINE.MAC, MACHINE.ID as TOPIC_ID FROM MACHINE WHERE ((( exists (select 1 from SOFTWARE, MACHINE_SOFTWARE_JT where MACHINE_SOFTWARE_JT.MACHINE_ID = MACHINE.ID AND SOFTWARE.ID = MACHINE_SOFTWARE_JT.SOFTWARE_ID and SOFTWARE.DISPLAY_NAME like '%Microsoft .Net Framework%' )) ) *****SECOND LINE OF SMART LABEL BEGINS HERE***** AND ((not exists (select 1 from SOFTWARE, MACHINE_SOFTWARE_JT where MACHINE_SOFTWARE_JT.MACHINE_ID = MACHINE.ID AND SOFTWARE.ID = MACHINE_SOFTWARE_JT.SOFTWARE_ID and SOFTWARE.DISPLAY_VERSION like '%4.7.2%')) ))

    Example Nested SQL:

    SELECT MACHINE.NAME AS SYSTEM_NAME, SYSTEM_DESCRIPTION, MACHINE.IP, MACHINE.MAC, MACHINE.ID as TOPIC_ID FROM MACHINE WHERE ((( exists (select 1 from SOFTWARE, MACHINE_SOFTWARE_JT where MACHINE_SOFTWARE_JT.MACHINE_ID = MACHINE.ID AND SOFTWARE.ID = MACHINE_SOFTWARE_JT.SOFTWARE_ID and SOFTWARE.DISPLAY_NAME like '%Microsoft .Net Framework%' and SOFTWARE.DISPLAY_VERSION not like '%4.7.2%')) ))

    Hopefully that was easy enough to understand, I know it's pretty confusing.

    Btw, won't get into it now since this is already far too confusing, but the above smart label also doesn't account for machines that don't have ANY version of .NET installed. Suffice it to say, you need to add an OR statement. Or you could just create a separate smart label for that case.
1

you can verify by checking the registry -> HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full\Release


https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

Answered 11/08/2018 by: torstenspitz
Senior White Belt

0
It also shows up under the Operating System tab of a Device Inventory:
(3rd from the bottom)

Answered 10/16/2018 by: ondrar
Fourth Degree Brown Belt