Jump to content
Sign in to follow this  
Haggard

wmic csproduct get name an variable

Recommended Posts

Hallo zusammen,

 

kurz zum Umfeld:

 

Da ich mittels MDT2010 einige Maschinen zu capturen habe, möchte ich den Images gerne den Produkt Namen mitgeben (Bspw. HP Compaq NX6110.wim)

 

In meiner Capture Sequence wollte ich etwas mitgeben á lá:

 

FOR /F "usebackq" %%a IN (`wmic csproduct get name`) DO SET machine=%%a

 

leider liefert mir mein Ausgabe Kein Ergebnis, da:

(hier getestet in einer VM, das selbe Resultat auch auf Eisen)

set machine=Name
set machine=Vmware
set machine=

 

Wie bekomme ich die Ausgabe des Befehls koreckt in meine Variable.

Ich hab das suchen und Probieren grad aufgegeben, Denkanstöße wären nett.

 

Gruß Haggard

Share this post


Link to post

Koreckt wäre - wie oben eigentlich schon beschrieben - wenn die Variable den kompletten Geräte Namen beinhalten würde und nicht nur Teile daraus.

 

Beispiel von oben wäre : HPCompaq NX610(.wim) oder

in einer VMWARE Vmware Virtual Platfom

 

Gruß

 

Haggard

Share this post


Link to post

Hallo,

csproduct ist der friendlyname von Win32_ComputerSystemProduct Class siehe: Win32_ComputerSystemProduct Class (Windows)

 

wmic csproduct get name /value

oder mit dem richtigen ClassName

wmic path Win32_ComputerSystemProduct get name /value

 

liefert nur, was die Hersteller dort hineinschreiben. Du kannst dich unter Win32 Classes (Windows) umschauen, ob du eine andere Win32_Klasse findest, die dir die gewünschte Information liefert.

 

Mit

wmic Win32_xxxxx get * /value

kannst du dir die Klassen relativ einfach ansehen

 

cu

blub

Share this post


Link to post

Hallo blub,

 

ich danke für deine Antwort und ich glaube auch, dass das eine gute Antwort ist....wenn ich sie verstehen würde ;)

 

Ich bin leider kein Programmierer und kann nicht wirklich viel damit anfangen, dein Link zu den Classes ist auch nicht existent, insofern kann ich mich auch schlecht informieren.

 

Kannst du mir eventuell eine etwas direktere Antwort geben für mein Problem?

 

Um es nochmal auf den Punkt zu bringen:

Ich benötige das Computermodell in einer Variablen.

 

Besten Dank!

 

Haggard

Share this post


Link to post

Hallo,

die Eigenschaft "name" von "wmic csproduct get name " enthält nur die Information, die der HW-Hersteller meint, dort ablegen zu wollen.

Bei mir steht dort beispielsweise "2005WSP", was die Modellbezeichnung für ein T500 Lenovo ist.

Wenn Compaq in die Eigenschaft nichts reinschreibt, ist es leider so.

 

Bei mir funktionieren übrigens die Links.

 

cu

blub

Share this post


Link to post

Hm, irgendwie verstehst du mich nicht... ;)

 

Mir ist es völlig egal, was da steht ich muss es in eine Variable bekommen.

Wenn da nichts steht, hab ich eben Pech gehabt, das ist aber bei meinen Clients nicht der Fall.

 

Für mich ist es ja nur wichtig eine Zuordnung für mein Deployment zu haben, wenn du also:

 

die richtige Syntax für mein Beispiel in der Batch Datei oben hast oder

eine andere Methode weißt, wie ich relativ unkompliziert ein Computermodel in eine Variabel bekomme, wäre das hilfreich.

 

Besten Dank blub.

 

Haggard

Share this post


Link to post

Hi,

 

versuch einmal das Folgende:

 

FOR /F "tokens=2 delims==" %%a in ('wmic computersystem get Model /value') DO set machine %%a

 

Oder kann MDT2010 auch PowerShell Scripts ausführen / nutzen?

 

Viele Grüße

olc

Share this post


Link to post

Hallo,

 

Ok,

 

Da ich mich mit Batch nicht mehr abquälen will, habe ich die WMI-Abfrage der Einfachheit in eine exe gepackt.

 

Wenn deine Batch auf die getproductname.exe zugreifen kann, kannst du

FOR /F "delims=  usebackq" %%a IN (`getproductname`) DO SET machine=%%a

benützen.

 

zur Info der VB-Code der getProductName.exe

Imports System.Management
Module Module1
   Sub Main()

       ' Product Information
       Dim objQuery As New ObjectQuery("SELECT * FROM Win32_Computersystemproduct")
       Dim searcher As New ManagementObjectSearcher(objQuery)

       For Each mem As ManagementObject In searcher.Get
           Console.WriteLine(mem("name"))
       Next
   End Sub

End Module

 

cu

blub

getProductName.zip

Edited by blub

Share this post


Link to post

Hallo,

 

das waren die Informationen, die ich benötigt hatte.

 

Besten Dank euch beiden!

 

Jetzt muß ich noch die Leerzeichen entfernen und ab ner gewissen Länge abschneiden, aber ich denke das bastel ich mir schon.

 

Vielen Dank nochmal.

Thema sehe ich als erledigt.

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...