Haggard 10 Geschrieben 14. Dezember 2010 Melden Teilen Geschrieben 14. Dezember 2010 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 16. Dezember 2010 Melden Teilen Geschrieben 16. Dezember 2010 Hallo, Was wäre den korrekt? cu blub Zitieren Link zu diesem Kommentar
Haggard 10 Geschrieben 16. Dezember 2010 Autor Melden Teilen Geschrieben 16. Dezember 2010 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 16. Dezember 2010 Melden Teilen Geschrieben 16. Dezember 2010 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 Zitieren Link zu diesem Kommentar
Haggard 10 Geschrieben 16. Dezember 2010 Autor Melden Teilen Geschrieben 16. Dezember 2010 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 17. Dezember 2010 Melden Teilen Geschrieben 17. Dezember 2010 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 Zitieren Link zu diesem Kommentar
Haggard 10 Geschrieben 18. Dezember 2010 Autor Melden Teilen Geschrieben 18. Dezember 2010 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 Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 18. Dezember 2010 Melden Teilen Geschrieben 18. Dezember 2010 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 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 18. Dezember 2010 Melden Teilen Geschrieben 18. Dezember 2010 (bearbeitet) 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 bearbeitet 19. Dezember 2010 von blub Zitieren Link zu diesem Kommentar
Haggard 10 Geschrieben 20. Dezember 2010 Autor Melden Teilen Geschrieben 20. Dezember 2010 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. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.