Jump to content

Registry neu einlesen ohne Neustart die 2


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

 

Ich habe den den thread gelesen:

http://www.mcseboard.de/showthread.php?t=30958&page=1&pp=10&highlight=registry+neu+einlesen

 

aber da war keine lösung!

 

Ich setze mit einem VB-Skript eine neu Umgebungsvariable in "HKCU\Environment"

und will diese nutzen.

klappt aber erst nach neustart oder ab-und anmelden.

 

kann ich Umgebungsvariable ach andes mit vb setzen, damit sie gleich zu verfügung stehn ?

secedit nützt auch nicht !

 

hilfe!

Link zu diesem Kommentar

danke @Operator,

garnicht schlech, aber ich brauch dei veriable wenn das VBskript durchgelaufen ist in nem betch skrip.

neu eingelesen wir mit :

Set objShell = WScript.CreateObject('WScript.Shell')

Set colUsrEnvVars = objShell.Environment('USER')

colUsrEnvVars('APP_VARIABLE') = 'Installiert'

Wscript.Echo colUsrEnvVars('APP_VARIABLE')

leider nichts, sonder nur das anzeigen der variable mit vb,(das geht ja sowiso)

wenn ich set in der cmd eingebe hat sich nichts geändert !!!

 

 

 

gruß

ralle

Link zu diesem Kommentar

Hi Ralle,

 

wie Urmel schon sagt. Das Environment in der DOS-Shell wird nur beim Start ausgelesen und angewandt.

 

Wenn du das Batch-Script aber nach dem Aufrufen des VBScripts ausführst, ist der Wert gesetzt.

Kannst Du Testen, in dem Du das Script laufen lässt, danach cmd.exe startest und dann via "set" kontrollierst.

 

Gruß

Andre

Link zu diesem Kommentar

Hallo R.Ralle,

 

nach dem Ändern des User Environment in der Registry muss diesegeschrieben und

das System über die Änderungen informiert werden.

Wie du die API Calls in ein VBScript bekommt bin ich überfragt.

 

Vielleicht hilft dir ein Fertigprodukt wie dieses über Run aufzurufen.

 

SETENV.EXE

http://barnyard.syr.edu/~vefatica/#SETENV

 

thorgood

Link zu diesem Kommentar

Hi Ralle alias Badger ;)

 

also ich hab das ganze bei mir grad noch mal ausprobiert...

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Set WshSysEnv = WshShell.Environment("USER")

WshSysEnv("TEST") = "OPERATOR"

 

Wenn ich anschließend via Batch die Variable %TEST% auslese enthält diese den richtigen Wert "OPERATOR".

 

Gruß

Andre

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...