Seite 1 von 1

Hardwareinformationen in Winst Script verwenden?

Verfasst: 23 Aug 2022, 14:29
von Valentino-46
Hallo zusammen,

ich wollte kurz fragen, ob man zb die hwinvent Hardwareinformationen aus dem OPSI eigenen Inventory in Winst Scripten verwenden kann?

Also dass ich zb sage ich installiere einen bestimmten Grafiktreiber nur dann, wenn die Grafikkarte laut Inventory eine XYZ ist.

Vielen Dank!!
Viele Grüße,
Valentino

Re: Hardwareinformationen in Winst Script verwenden?

Verfasst: 23 Aug 2022, 15:02
von SisterOfMercy
I only have a workaround, which uses the registry:

Code: Alles auswählen

Set $result$ = getRegistryKeyListSysnative("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}")
for $value$ in $result$ do Sub_network_wake_on_lan

[Sub_network_wake_on_lan]
set $RegistryKey$ = "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" + "$value$" + "]"
Set $testName$ = GetRegistryStringValueSysNative($RegistryKey$ + "DriverDesc")
if contains($testName$,"82579")
	Registry_install_Intel_82579 /SysNative
endif
if contains($testName$,"82574")
	Registry_install_Intel_82574 /SysNative
endif
if (contains($testName$,"I217") or contains($testName$,"I210"))
	Registry_install_Intel_217 /SysNative
endif
if contains($testName$,"I354")
	Registry_install_Intel_354 /SysNative
endif
if contains($testName$,"82566")
	Registry_install_Intel_82566 /SysNative
endif
if contains($testName$,"nForce")
	Registry_install_Nvidia_nForce /SysNative
endif
if (contains($testName$,"AR8121") or contains($testName$,"AR8113") or contains($testName$,"AR8114"))
	Registry_install_Atheros_AR8121 /SysNative
endif
if contains($testName$,"Realtek PCIe")
	Registry_install_Realtek_PCIe /SysNative
endif


[Registry_install_Intel_354]
openkey $RegistryKey$
set "EnablePME" = "1"
set "*WakeOnMagicPacket" = "1"
set "*WakeOnPattern" = "1"

[Registry_install_Intel_217]
openkey $RegistryKey$
set "EnablePME" = "1"
set "*WakeOnMagicPacket" = "1"
set "*WakeOnPattern" = "1"

[Registry_install_Intel_82579]
openkey $RegistryKey$
set "EnablePME" = "1"
set "WakeOn" = "118"

[Registry_install_Intel_82574]
openkey $RegistryKey$
set "EnablePME" = "1"
set "WakeOn" = "118"

[Registry_install_Intel_82566]
openkey $RegistryKey$
set "EnablePME" = "1"
set "WakeOn" = "118"

[Registry_install_Nvidia_nForce]
openkey $RegistryKey$
set "EthWOLFromPowerOff" = "1"
set "WakeUpMagic" = "1"
set "WakeUpPattern" = "1"

[Registry_install_Atheros_AR8121]
openkey $RegistryKey$
set "ShutdownWake" = "1"
set "WakeUpCapabilities" = "3"

[Registry_install_Realtek_PCIe]
openkey $RegistryKey$
set "S5WakeOnLan" = "1"
set "WolCap" = "3"
Of course this script is not complete, it misses some declarations. For other devices, just look in the same spot in the registry, just go up or down a few keys. They only differ by one or two characters.

Re: Hardwareinformationen in Winst Script verwenden?

Verfasst: 23 Aug 2022, 15:06
von Jan.Schmidt
Valentino-46 hat geschrieben: 23 Aug 2022, 14:29 ich wollte kurz fragen, ob man zb die hwinvent Hardwareinformationen aus dem OPSI eigenen Inventory in Winst Scripten verwenden kann?

Also dass ich zb sage ich installiere einen bestimmten Grafiktreiber nur dann, wenn die Grafikkarte laut Inventory eine XYZ ist.
Salü,

überleg mal...
Winst läuft wo und wann?
Wer hat die Datenbank mit den Hardwareinfos?
Im Fall von WAN Modul hat der Winst dann immer Zugriff auf die Datenbank mit den HWinfos?

Die drei Fragen zusammen zeigen - der Weg / die Frage ist falsch formuliert.

Sinnvoller wäre die Frage - kann ich mit opsi-admin die Tabelle HWinfo abfragen und nur dann, wenn x?y ein Setup anstossen.

Ich mach das immer anders daher kann ich dir die Frage nicht beantworten:
Ein "switch" Weichenscript läuft immer (durch das std. Metapaket) und das entscheidet dann, ob das ein HP oder Lenovo, PC oder Desktop, Standort A oder Standort B System ist und fordert dann Pakate 123 beim OPSI an.
Die HWinfos holt sich der Rechner (bei mir) immer selber durch wmic oder vbs Abfragen.