Skapa anpassade maskinvarulagerstips

Under åren, från Systems Management Server 1.1 (SMS) till Microsoft Endpoint Manager Configuration Manager (MEMCM) nuvarande gren, har jag skapat hundratals anpassade hårdvarulagerklasser. Längs vägen har jag också gjort en hel del misstag när jag importerade/skapade dessa klasser. Fram till denna punkt har jag dock finslipat mina färdigheter så att jag i princip kan skapa en ny klass på bara några få minuter. Självklart överdriver jag över tiden det tar, men du förstår! I det här blogginlägget kommer jag att dela med mig av några av mina tips för att skapa anpassade hårdvarulagerklasser.

Maskinvarulager, vad är det?

I ett nötskal är maskinvaruinventering inventering som kommer från en dator. I MEMCM -termer består den av två saker. WMI -klasser (Windows Management Interface) och datorinställningen. Datorinställningen berättar för en MEMCM -dator vad som ska inventeras, medan WMI -klasser är vad som inventeras.

Skapa anpassad maskinvaruförråd

MEMCM inventerar många detaljer från en dator, men det finns alltid något mer som någon vill ha. Om du befinner dig i en liknande situation kan du också överväga en ny (anpassad) hårdvarulagerklass. Det är här dessa tips kommer att hjälpa. Först måste du veta att det finns fyra metoder tillgängliga för dig.

  • Du kan importera en befintlig WMI -klass.
  • Om du inte vill importera en befintlig WMI -klass kan du skapa en ny.
  • Att lägga till en egenskap till en befintlig standard (MEMCM) WMI -klass är ett annat alternativ.
  • Du kan också inventera en registernyckel.

Därefter måste du bestämma vilken metod som bäst passar dina behov. Nedan ger jag dig mer information om var och en.

Importera en befintlig WMI -klass

Om detaljerna du letar efter redan finns i en WMI -klass kan import av data (via konsolen) verka som den enklaste metoden utan risk. Jag vet att denna metod är vad de flesta kommer att överväga att välja, men även om det är enkelt att göra, kom ihåg att det medför viss risk. Detta gäller särskilt om datatypen är felaktigt identifierad.

Problem kan sträcka sig från att absolut ingen inventering samlas in till att fel data inventeras. Som jag ser det finns det två betydande problem med denna metod:

  • Vad händer när dessa data (egenskaper) läggs till i nästa MEMCM -uppgradering?
  • Importfunktionen förstår inte alltid alla olika datatyper och kan felaktigt tilldela fel datatyp.

Jag ser ofta att folk når ut i forumet och försöker få svar på problem i samband med att importera en befintlig WMI -klass. Så det är inte nödvändigtvis en problemfri metod.

Skapa en ny anpassad inventering WMI -klass

Detta är det enklaste alternativet och det med minst risk. Varför? Du kommer aldrig att ha några problem med den här metoden eftersom en ny anpassad WMI -klass sannolikt aldrig kommer att komma i konflikt med en MEMCM -klass. Bäst av allt, den här metoden stöds fullt ut av MEMCM -teamet. Detta innebär att du kan lägga till mer anpassat lager utan att det påverkar ditt MEMCM -stöd. Detta är den metod som jag rekommenderar.

Det finns dock fortfarande några saker som du måste komma ihåg innan du börjar skapa en ny anpassad klass.

  • SMS -gruppnamnet måste vara unikt.
  • Se till att ditt SMS -klassnamn också är unikt. Du kan göra detta genom att i förväg lägga till ditt företags initialer. Detta gör det unikt.
  • Använd ditt eget företagsnamn inom SMS_Class_ID. Lägg märke till, i exemplet nedan, att jag lade till mitt företags namn, "Enhansoft."
  • Alla WMI -egenskapstyper kan inte användas av MEMCM, till exempel: Real32.

Vad kan gå fel när du skapar klassen? Jag har ännu inte sett något katastrofalt. I värsta fall måste du ta bort klassen och börja om. Se till att du testar din nya klass för att säkerställa att den samlar in de detaljer du vill ha. Du vill inte lämna detta steg till dagar eller månader senare.

Så här ser en av mina anpassade WMI -klasser ut:

[SMS_Rapport (TRUE),
SMS_Group_Name (“Garantiöversikt”),
SMS_Class_ID (“Enhansoft | Garanti | 1.0”),
Namnutrymme ("\\\\\\\. \\\\ root \\\\ cimv2")]
klass ES_Warranty: SMS_Class_Template

Lägga till en egenskap till en befintlig standard (MEMCM) WMI -klass

Skapa anpassad maskinvarulager - metod 3

Om du väljer den här metoden kan du antingen uppdatera klientinställningen för att lägga till den extra egenskapen, eller så kan du redigera filen config.mof och lägga till egenskapen.

Enligt min mening är detta det mest riskfyllda alternativet. Den främsta anledningen till att det är riskabelt är mycket enkelt. Vad händer när produktteamet lägger till den här egenskapen i en uppdatering? I bästa fall händer ingenting. Men i värsta fall har du en dålig uppgradering och hela systemet lämnas i ett okänt tillstånd. Tyvärr hände detta mig och jag behövde bygga om mitt labb! Så tro mig när jag säger att detta är alternativet med den högsta riskfaktorn. Kan du tänka dig om detta hände i en produktionsmiljö?

Hur lägger du till en egendom på en befintlig WMI -klass på ett säkert sätt?

Du måste klona klassen för att skapa en ny med den egenskap du vill ha. Detta förhindrar att eventuella problem uppstår senare. Om du går den här vägen skapar du faktiskt en ny klass (metod #2). Den enda nackdelen med att klona en WMI -klass och lägga till en ny egenskap till den är att du får extra data i din databas. Det finns dock sätt att begränsa extra data till bara de nya egenskaperna och till egendomsnycklarna för den klassen. Detta betyder dock att du kommer att behöva "ansluta" till data med standardklassen när som helst du vill använda den.

Inventera en registernyckel

Det här alternativet är egentligen samma sak som att skapa en ny anpassad lager WMI -klass (metod #2). Processen är ganska enkel om du använder RegKeyToMof. Det kommer att göra 99% av arbetet åt dig. Jag sammanställde en guide om hur man gör detta i mitt blogginlägg som heter, Hur man använder RegKeyToMof.

Det sista ordet

Ta det från någon som har skapat många anpassade lagerklasser och som har lärt sig av sina misstag längs vägen. Jag har aldrig haft några problem med MEMCM -uppdateringar eller uppgraderingar efter att ha skapat anpassade WMI -klasser för hårdvarulager (metod #2). Detsamma kan inte sägas för att lägga till en egenskap till en befintlig WMI -klass eller, baserat på vad jag ser i forumet, importera en befintlig WMI -klass.

Kontakta mig gärna på @GarthMJ om du har ytterligare frågor.

Se hur Right Click Tools förändrar hur system hanteras.

Öka produktiviteten direkt med vår begränsade, kostnadsfria Community Edition.

Kom igång med Right Click Tools idag:

Dela detta:

Support

  • Detta fält används för valideringsändamål och ska lämnas oförändrat.

Kontakt

  • Detta fält används för valideringsändamål och ska lämnas oförändrat.
sv_SESwedish