Skip to content

Instantly share code, notes, and snippets.

@Ioan-Popovici
Last active July 14, 2023 10:28
Show Gist options
  • Save Ioan-Popovici/d87f3c5688b5d50b894b3a30340aba2b to your computer and use it in GitHub Desktop.
Save Ioan-Popovici/d87f3c5688b5d50b894b3a30340aba2b to your computer and use it in GitHub Desktop.
HWI DEF SQL Classes for SQL Product Reporting
//======================================================
//---------------| SQL definition start |---------------
//======================================================
/*
.SYNOPSIS
Extends Configuration Manager HWI for SQL Products.
.DESCRIPTION
Extends Configuration Manager HWI for SQL Products, by adding already created classes to Hardware Inventory.
.NOTES
Created by Ioan Popovici.
Requires the HWI EXT SQL Server Products.mof extension file.
.LINK
https://MEM.Zone/SW-SQL-Server-Products
.LINK
https://MEM.Zone/SQL-SupportFunctions
.LINK
https://MEM.Zone/SW-SQL-Server-Products-CHANGELOG
.LINK
https://MEM.Zone/SW-SQL-Server-Products-GIT
.LINK
https://MEM.Zone/ISSUES
*/
//---------------| SQL 2022 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2022 Property"),
SMS_Class_ID("EXT|SQL_2022_PROPERTY|1.0")]
Class SQL_2022_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2019 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2019 Property"),
SMS_Class_ID("EXT|SQL_2019_PROPERTY|1.0")]
Class SQL_2019_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2017 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2017 Property"),
SMS_Class_ID("EXT|SQL_2017_PROPERTY|1.0")]
Class SQL_2017_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2016 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2016 Property"),
SMS_Class_ID("EXT|SQL_2016_PROPERTY|1.0")]
Class SQL_2016_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2014 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2014 Property"),
SMS_Class_ID("EXT|SQL_2014_PROPERTY|1.0")]
Class SQL_2014_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2012 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2012 Property"),
SMS_Class_ID("EXT|SQL_2012_PROPERTY|1.0")]
Class SQL_2012_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2008 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL 2008 Property"),
SMS_Class_ID("EXT|SQL_2008_PROPERTY|1.0")]
Class SQL_2008_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//---------------| SQL 2000/2005 definitions |---------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL Legacy Property"),
SMS_Class_ID("EXT|SQL_LEGACY_PROPERTY|1.0")]
Class SQL_Legacy_Property: SMS_Class_Template
{
[SMS_Report(true), key] uint32 PropertyIndex;
[SMS_Report(true), key] string PropertyName;
[SMS_Report(true) ] uint32 PropertyNumValue;
[SMS_Report(true) ] string PropertyStrValue;
[SMS_Report(true), key] string ServiceName;
[SMS_Report(true), key] uint32 SqlServiceType;
};
//-------------| SQL ProductID definition |-------------
[Dynamic, Provider("MS_VIEW_INSTANCE_PROVIDER"),
SMS_Report(true),
SMS_Group_Name("SQL ProductID"),
SMS_Class_ID("EXT|SQL_PRODUCTID|1.0")]
Class SQL_ProductID: SMS_Class_Template
{
[SMS_Report(true), key] string Release;
[SMS_Report(true) ] string ProductID;
[SMS_Report(true) ] boolean DigitalProductID[];
};
//======================================================
//----------------| SQL definition end |----------------
//======================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment