PC-Hersteller in LocalBoot-Paket abfragen
PC-Hersteller in LocalBoot-Paket abfragen
Hallo,
ich brauche für ein LocalBoot-Paket die Information, welcher Hersteller den PC gebaut hat.
Hier reicht natürlich die Info aus dem hwinvent (byAudit-Treiberpfad) aus (betroffene Rechner werden ausschließlich per OPSI installiert).
Ich habe shcon die Doku gewälzt und dneke ich bin mit OpsiServiceCall auf dem richtigen Weg.
Allerdings stecke ich da bereits fest... Welche Methode gibt mir denn jetzt die gewünschte Info zurück?
Wird wohl irgendwie mit auditHardwareOnHost gehen. Aber wie?
Ich blicke da noch nicht wirklich durch...
ich brauche für ein LocalBoot-Paket die Information, welcher Hersteller den PC gebaut hat.
Hier reicht natürlich die Info aus dem hwinvent (byAudit-Treiberpfad) aus (betroffene Rechner werden ausschließlich per OPSI installiert).
Ich habe shcon die Doku gewälzt und dneke ich bin mit OpsiServiceCall auf dem richtigen Weg.
Allerdings stecke ich da bereits fest... Welche Methode gibt mir denn jetzt die gewünschte Info zurück?
Wird wohl irgendwie mit auditHardwareOnHost gehen. Aber wie?
Ich blicke da noch nicht wirklich durch...
-
- Beiträge: 74
- Registriert: 01 Aug 2011, 10:45
Re: PC-Hersteller in LocalBoot-Paket abfragen
Hi,
aus dem opsi-Script etwa so:
[Aktionen]
requiredWinstVersion >= "4.11.3"
DefStringlist $computerclass$
defvar $vendor$
set $computerclass$ = splitString(takeFirstStringContaining(getReturnListFromSection ("opsiservicecall_auditHardwareOnHost_getObjects"), "vendor"), ",")
set $vendor$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
[opsiservicecall_auditHardwareOnHost_getObjects]
"method":"auditHardwareOnHost_getObjects"
"params":[
'[]',
'{"hostId" : "$clientid$","hardwareClass" : "COMPUTER_SYSTEM"}'
]
Meiner Meinung nach, sind solche Werte per WMI oder Registry viel komfortabler auszulesen.
Gruß
Konstantin
aus dem opsi-Script etwa so:
[Aktionen]
requiredWinstVersion >= "4.11.3"
DefStringlist $computerclass$
defvar $vendor$
set $computerclass$ = splitString(takeFirstStringContaining(getReturnListFromSection ("opsiservicecall_auditHardwareOnHost_getObjects"), "vendor"), ",")
set $vendor$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
[opsiservicecall_auditHardwareOnHost_getObjects]
"method":"auditHardwareOnHost_getObjects"
"params":[
'[]',
'{"hostId" : "$clientid$","hardwareClass" : "COMPUTER_SYSTEM"}'
]
Meiner Meinung nach, sind solche Werte per WMI oder Registry viel komfortabler auszulesen.
Gruß
Konstantin
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: PC-Hersteller in LocalBoot-Paket abfragen
Uh what about this?
This gives resuls like this:
It would be great if you could somehow modify those fields permanently. For instance, to set a serial number for that Gigabyte thing. And the things asus fills in are mostly crap. 
Code: Alles auswählen
DefStringList $list$
Set $list$ = getHWBiosInfoMap
Code: Alles auswählen
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 1)bios.Version=1.50
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 9)bios.OEM String[1]=PSC1QE-03HLDU,SSC1Q03HLDU
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 13)bios.System Config String[1]=SMI:00B202
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 14)bios.System Config String[2]=DSN:0520B6A340A7A4
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 15)bios.System Config String[3]=DSN:M471B527H0-CH9 B14533CC
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 17)sysinfo.Manufacter=TOSHIBA
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 18)sysinfo.Product Name=SATELLITE C660
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 19)sysinfo.Version=PSC1QE-03HLDU
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 20) sysinfo.Serial Number=8B0542K
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 21)sysinfo.UUID=78CC1365B8DE118D5B870F4CA4719
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 22)sysinfo.SKU Number=PSC1QE-03H0DU
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 23)sysinfo.Family=ABCDEFGHIJKLMNOPQRSTUVWXYZ
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 24)board.Manufacter=TOSHIBA
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 25)board.Product=PWWHA
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 26)board.Version=1.00
;[7] [Jan 20 15:15:32:805] [openvpn-client] (string 27)board.Serial Number=0123456789AB
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 1)bios.Version=F14
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 5)sysinfo.Manufacter=Gigabyte Technology Co., Ltd.
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 6)sysinfo.Product Name=P35-DS4
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 7)sysinfo.Version=
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 8)sysinfo.Serial Number=
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 9) sysinfo.UUID=00000000000000000001A4D7013
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 10)sysinfo.SKU Number=
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 11)sysinfo.Family=
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 12)board.Manufacter=Gigabyte Technology Co., Ltd.
;[7] [Jan 17 00:46:28:427] [openvpn-client] (string 13)board.Product=P35-DS4

Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: PC-Hersteller in LocalBoot-Paket abfragen
Hi,
-N
You know of opsihwaudit.conf?SisterOfMercy hat geschrieben:It would be great if you could somehow modify those fields permanently. For instance, to set a serial number for that Gigabyte thing. And the things asus fills in are mostly crap.
-N
Code: Alles auswählen
import OPSI
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: PC-Hersteller in LocalBoot-Paket abfragen
No, I did not. But I meant to permanently set fields for only some clients.n.wenselowski hat geschrieben:You know of opsihwaudit.conf?
This asus thing has no serial number filled in, it would be nice to be able to set that to the correct serial. Of course, this is not really an issue with OPSI, more with the client itself.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: PC-Hersteller in LocalBoot-Paket abfragen
Ah, Problem erkannt.
Wenn du irgendwie an die richtigen Werte kommst, kannst du die Werte des Clients mittels opsiServiceCall berichtigen.
Gruß
Niko
Wenn du irgendwie an die richtigen Werte kommst, kannst du die Werte des Clients mittels opsiServiceCall berichtigen.
Gruß
Niko
Code: Alles auswählen
import OPSI
Re: PC-Hersteller in LocalBoot-Paket abfragen
Hallo Konstantin,Konstantin hat geschrieben:Hi,
aus dem opsi-Script etwa so:
[Aktionen]
requiredWinstVersion >= "4.11.3"
DefStringlist $computerclass$
defvar $vendor$
set $computerclass$ = splitString(takeFirstStringContaining(getReturnListFromSection ("opsiservicecall_auditHardwareOnHost_getObjects"), "vendor"), ",")
set $vendor$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
[opsiservicecall_auditHardwareOnHost_getObjects]
"method":"auditHardwareOnHost_getObjects"
"params":[
'[]',
'{"hostId" : "$clientid$","hardwareClass" : "COMPUTER_SYSTEM"}'
]
Meiner Meinung nach, sind solche Werte per WMI oder Registry viel komfortabler auszulesen.
Gruß
Konstantin
leider klappt das so nicht

Code: Alles auswählen
[...]
(162) [5] [Okt 27 12:55:15:812] [test] Set $hersteller$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
(163) [6] [Okt 27 12:55:15:817] [test] retrieving strings from $computerclass$ [switch to loglevel 7 for debugging]
(164) [6] [Okt 27 12:55:15:817] [test] The value of the variable "$hersteller$" is now: "NULL"
[...]
Sorry meine Schuld! Tippfehler

-
- Beiträge: 74
- Registriert: 01 Aug 2011, 10:45
Re: PC-Hersteller in LocalBoot-Paket abfragen
[Aktionen]
requiredWinstVersion >= "4.11.3"
setloglevel=9
DefStringlist $computerclass$
defvar $vendor$
DefVar $OpsiPath$
DefVar $IniCfg$
DefVar $ClientId$
DefVar $Password$
DefVar $OpsiUrl$
Set $OpsiPath$ = ExtractFilePath (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\opsiclientd] ImagePath" ))
if FileExists($OpsiPath$ + "\opsiclientd\opsiclientd.conf")
Set $IniCfg$ = $OpsiPath$ + "\opsiclientd\opsiclientd.conf"
Else
comment "error"
isFatalError
EndIf
Set $ClientID$ = GetValueFromIniFile($IniCfg$, "global", "host_id","")
Set $Password$ = GetvalueFromInifile($IniCfg$, "global", "opsi_host_key", "")
Set $OpsiUrl$ = GetvalueFromInifile($IniCfg$, "config_service", "url", "")
If Not (($ClientID$ = "") AND NOT ($Password$ = "") AND NOT ($OpsiUrl$ = ""))
set $computerclass$ = splitString(takeFirstStringContaining(getReturnListFromSection ("opsiservicecall_auditHardwareOnHost_getObjects /username $ClientId$ /password $Password$ /serviceurl $OpsiUrl$"), "vendor"), ",")
set $vendor$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
Else
comment "error"
isFatalError
EndIf
[opsiservicecall_auditHardwareOnHost_getObjects]
"method":"auditHardwareOnHost_getObjects"
"params":[
'[]',
'{"hostId" : "$clientid$","hardwareClass" : "COMPUTER_SYSTEM"}'
]
requiredWinstVersion >= "4.11.3"
setloglevel=9
DefStringlist $computerclass$
defvar $vendor$
DefVar $OpsiPath$
DefVar $IniCfg$
DefVar $ClientId$
DefVar $Password$
DefVar $OpsiUrl$
Set $OpsiPath$ = ExtractFilePath (GetRegistryStringValue("[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\opsiclientd] ImagePath" ))
if FileExists($OpsiPath$ + "\opsiclientd\opsiclientd.conf")
Set $IniCfg$ = $OpsiPath$ + "\opsiclientd\opsiclientd.conf"
Else
comment "error"
isFatalError
EndIf
Set $ClientID$ = GetValueFromIniFile($IniCfg$, "global", "host_id","")
Set $Password$ = GetvalueFromInifile($IniCfg$, "global", "opsi_host_key", "")
Set $OpsiUrl$ = GetvalueFromInifile($IniCfg$, "config_service", "url", "")
If Not (($ClientID$ = "") AND NOT ($Password$ = "") AND NOT ($OpsiUrl$ = ""))
set $computerclass$ = splitString(takeFirstStringContaining(getReturnListFromSection ("opsiservicecall_auditHardwareOnHost_getObjects /username $ClientId$ /password $Password$ /serviceurl $OpsiUrl$"), "vendor"), ",")
set $vendor$ = stringReplace (getValueBySeparator ('"vendor"', ":", $computerclass$ ), '"', '')
Else
comment "error"
isFatalError
EndIf
[opsiservicecall_auditHardwareOnHost_getObjects]
"method":"auditHardwareOnHost_getObjects"
"params":[
'[]',
'{"hostId" : "$clientid$","hardwareClass" : "COMPUTER_SYSTEM"}'
]