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
Hardwareinformationen in Winst Script verwenden?
-
- Beiträge: 284
- Registriert: 05 Aug 2011, 14:24
- SisterOfMercy
- Beiträge: 1556
- Registriert: 22 Jun 2012, 19:18
Re: Hardwareinformationen in Winst Script verwenden?
I only have a workaround, which uses the registry:
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.
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"
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
-
- Beiträge: 439
- Registriert: 08 Jul 2017, 12:02
Re: Hardwareinformationen in Winst Script verwenden?
Salü,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.
ü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.