[Erledigt] Im Paket nach Computermodell unterscheiden
-
- Posts: 713
- Joined: 07. May 2009, 18:27
- Location: Burscheid
- Contact:
[Erledigt] Im Paket nach Computermodell unterscheiden
Hallo Zusammen,
wir verteilen per Paket Bioseinstellungen. Jetzt muss ich leider ein zweites Paket erzeugen, für alle neuen Modelle mit Win10, die nur noch UEFI machen.
Ich würde gerne im Paket abfragen, um welches Computermodell es sich handelt und dann die entsprechende .exe Verteilen.
Wie könnte ich das anstellen? Ich würde es wohl über eine DMI - System Abfrage machen, wüsste aber überhaupt nicht, wie der Befehl dafür aussehen sollte.
Habt ihr eine Idee?
VG
Andreas
wir verteilen per Paket Bioseinstellungen. Jetzt muss ich leider ein zweites Paket erzeugen, für alle neuen Modelle mit Win10, die nur noch UEFI machen.
Ich würde gerne im Paket abfragen, um welches Computermodell es sich handelt und dann die entsprechende .exe Verteilen.
Wie könnte ich das anstellen? Ich würde es wohl über eine DMI - System Abfrage machen, wüsste aber überhaupt nicht, wie der Befehl dafür aussehen sollte.
Habt ihr eine Idee?
VG
Andreas
Last edited by llaprosper on 19. Jan 2017, 08:58, edited 1 time in total.
Re: Im Paket nach Computermodell unterscheiden
Hallo Andreas,
ch habe mal ein Paket gebaut, was ein Powershell-Script aufruft und damit den Hersteller ausliest:
Mehr ist das als Powershell nicht. Das müsste auch mit dem Modellnamen geben.
Die Textdatei frage ich dann ab in der setup.inf:
ch habe mal ein Paket gebaut, was ein Powershell-Script aufruft und damit den Hersteller ausliest:
Code: Select all
$hersteller = get-wmiobject win32_bios
$hersteller.Manufacturer > C:\EmpirumAgent\hersteller.txt
Die Textdatei frage ich dann ab in der setup.inf:
Code: Select all
If DoesTextInFileExist ("Dell", "C:\EmpirumAgent\hersteller.txt") == "1" Then "Set:DellBIOS" EndIf
If DoesTextInFileExist ("Hewlett-Packard", "C:\EmpirumAgent\hersteller.txt") == "1" Then "Set:HPBIOS" EndIf
Viele Grüße
Tobias
---
Empirum Echtsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.3 und UEM Agent 1905.1
Empirum Testsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.5 und UEM Agent 1906.1
Workplace Management Echtsystem: ServiceStore 9.1.0.2532 - Win 2012 R2
Workplace Management Testsystem: ServiceStore 9.1.0.2532 - Win 2016
MDM: Silverback 18.0.3.27
DB-Server: Win 2012 R2 mit SQL 2014
Tobias
---
Empirum Echtsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.3 und UEM Agent 1905.1
Empirum Testsystem: v19 - 19.0.1 - Win 2012 R2 mit EPE 4.7.5 und UEM Agent 1906.1
Workplace Management Echtsystem: ServiceStore 9.1.0.2532 - Win 2012 R2
Workplace Management Testsystem: ServiceStore 9.1.0.2532 - Win 2016
MDM: Silverback 18.0.3.27
DB-Server: Win 2012 R2 mit SQL 2014
-
- Moderator
- Posts: 7965
- Joined: 13. Dec 2004, 23:10
- Location: Adendorf/Lüneburg
Re: Im Paket nach Computermodell unterscheiden
Ich nehme für so etwas die EmpInventory.exe:
Per CALL aufrufen und das Ergebnis als XML oder INI nach %TEMP% schreiben lassen.
Dann über die üblichen Setup.inf Befehle den Wert auslesen.
Per CALL aufrufen und das Ergebnis als XML oder INI nach %TEMP% schreiben lassen.
Dann über die üblichen Setup.inf Befehle den Wert auslesen.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com
Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com
Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.
-
- Posts: 713
- Joined: 07. May 2009, 18:27
- Location: Burscheid
- Contact:
Re: Im Paket nach Computermodell unterscheiden
Beides werde ich mir anschauen. Muss man für die Inventory.exe noch Parameter mit geben?
Ich würde gerne in einer .txt alle Modelle schreiben, die .exe "B" nehmen sollen. Wie kann ich denn den Wert der Ausgabe mit dem Text in der .txt abgleichen?
If DoesTextInFileExist reicht da ja nicht.
Ich muss dann ja vergleichen, ob Txt in File da ist UND im .txt der Modellübersicht
Ich würde gerne in einer .txt alle Modelle schreiben, die .exe "B" nehmen sollen. Wie kann ich denn den Wert der Ausgabe mit dem Text in der .txt abgleichen?
If DoesTextInFileExist reicht da ja nicht.
Ich muss dann ja vergleichen, ob Txt in File da ist UND im .txt der Modellübersicht
Re: Im Paket nach Computermodell unterscheiden
oder so:
Code: Select all
Set V_SystemProductName=%HKLM,"HARDWARE\DESCRIPTION\System\BIOS","SystemProductName"%
Echo %V_SystemProductName%
Set V_SystemManufacturer=%HKLM,"HARDWARE\DESCRIPTION\System\BIOS","SystemManufacturer"%
Echo %V_SystemManufacturer%
-
- Moderator
- Posts: 7965
- Joined: 13. Dec 2004, 23:10
- Location: Adendorf/Lüneburg
Re: Im Paket nach Computermodell unterscheiden
Die neueren EmpInventory.exe können anscheinend keine INI Ausgabe mehr generieren, nur noch XML.
Und dafür finde ich kein Beispiel in meiner Ablage.
Daher wären die anderen Ansätze einfacher.
Und dann kann man ja mit DoesTextInFileExist zum Abgleich mit der Liste arbeiten sobald man den Modell-String in einer Variablen hat.
Und dafür finde ich kein Beispiel in meiner Ablage.
Daher wären die anderen Ansätze einfacher.
Und dann kann man ja mit DoesTextInFileExist zum Abgleich mit der Liste arbeiten sobald man den Modell-String in einer Variablen hat.
Hendrik Ambrosius / Senior Presales Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com
Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 GmbH | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com
Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 or of the support team.
Re: Im Paket nach Computermodell unterscheiden
Wenn zu jedem Modell eine *.exe vorliegt, würde ich jeweils den Dateinamen nach einem Wert "SystemProductName" umbenennen. D.h. im Paket sollten sich z.B. die Dateien befinden:
HP EliteBook 850 G3.exe
HP EliteBook 8570p.exe
...
Der Aufruf dann:
Call %SRC%\%V_SystemProductName%.exe
Es bleibt also nur davor die Variable zu setzen. Eine Auswertung entfällt.
HP EliteBook 850 G3.exe
HP EliteBook 8570p.exe
...
Der Aufruf dann:
Call %SRC%\%V_SystemProductName%.exe
Es bleibt also nur davor die Variable zu setzen. Eine Auswertung entfällt.
-
- Posts: 713
- Joined: 07. May 2009, 18:27
- Location: Burscheid
- Contact:
Re: Im Paket nach Computermodell unterscheiden
Hallo Herr Wiegel,
mit "Set V_SystemProductName=%HKLM,"HARDWARE\DESCRIPTION\System\BIOS","SystemProductName"%
Echo %V_SystemProductName%"
habe ich dann das Modell....ok...aber wie frage ich denn ab, ob dieses Modell z.B. in einer, von mir befüllten Textdatei, vorhanden ist?
Edit:
Ach so, ich frage die Variable ab
If DoesTextInFileExist ("%V_SystemProductName%", "C:\EmpirumAgent\hersteller.txt") == "1" Then Set:Exe1, Else Set:Exe2
So , oder?
mit "Set V_SystemProductName=%HKLM,"HARDWARE\DESCRIPTION\System\BIOS","SystemProductName"%
Echo %V_SystemProductName%"
habe ich dann das Modell....ok...aber wie frage ich denn ab, ob dieses Modell z.B. in einer, von mir befüllten Textdatei, vorhanden ist?
Edit:
Ach so, ich frage die Variable ab
If DoesTextInFileExist ("%V_SystemProductName%", "C:\EmpirumAgent\hersteller.txt") == "1" Then Set:Exe1, Else Set:Exe2
So , oder?
Re: Im Paket nach Computermodell unterscheiden
Die Echo-Ausgabe war nur zur Kontrolle.
Ja so geht es auch. Mit der Abfrage kann man leider nur zwei Abschnitte berücksichtigen. Wenn es nur zwei Modelle gibt, dann passt alles.
alternativ könnte man das so umsetzen, wenn mehr als ein paar Modelle berücksichtigt werden müssen:
Ja so geht es auch. Mit der Abfrage kann man leider nur zwei Abschnitte berücksichtigen. Wenn es nur zwei Modelle gibt, dann passt alles.
Code: Select all
If DoesTextInFileExist ("%V_SystemProductName%", "C:\EmpirumAgent\hersteller.txt") == "1" Then "Set:Exe1" Else "Set:Exe2" EndIf
Code: Select all
;HW-Modell wird ermittelt:
Set V_SystemProductName=%HKLM,"HARDWARE\DESCRIPTION\System\BIOS","SystemProductName"%
;Es wird geprüft, ob für das Modell Bios-Einstellungen geändert werden müssen:
If DoesTextInFileExist ("%V_SystemProductName%", "C:\EmpirumAgent\hersteller.txt") == "1" Then "Set:Bios" EndIf
;Set Bios-Einstellungen:
[Set:Bios]
Call %SRC%\%V_SystemProductName%.exe
-
- Posts: 713
- Joined: 07. May 2009, 18:27
- Location: Burscheid
- Contact:
Re: Im Paket nach Computermodell unterscheiden
Perfekt! Vielen Dank!
-
- Posts: 713
- Joined: 07. May 2009, 18:27
- Location: Burscheid
- Contact:
Re: Im Paket nach Computermodell unterscheiden
Die Echo-Ausgabe war nur zur Kontrolle.
Ja so geht es auch. Mit der Abfrage kann man leider nur zwei Abschnitte berücksichtigen. Wenn es nur zwei Modelle gibt, dann passt alles.
Code: Select all
If DoesTextInFileExist ("%V_SystemProductName%", "C:\EmpirumAgent\hersteller.txt") == "1" Then "Set:Exe1" Else "Set:Exe2" EndIf
Wenn also If DoesTextInFileExist einen Treffer hat, handelt es sich um einen UEFI Rechner und er nimmt die andere .exe
Who is online
Users browsing this forum: No registered users and 5 guests