R.Ralle 10 Geschrieben 11. Februar 2005 Melden Geschrieben 11. Februar 2005 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! Zitieren
Operator 10 Geschrieben 11. Februar 2005 Melden Geschrieben 11. Februar 2005 Hi, versuchs mal damit... Dann klappt das ganze auch mit VBScript. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsproenvironment.asp Damit kannst Du Werte auslesen und setzen. Gruß Andre Zitieren
R.Ralle 10 Geschrieben 12. Februar 2005 Autor Melden Geschrieben 12. Februar 2005 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 Zitieren
Das Urmel 10 Geschrieben 12. Februar 2005 Melden Geschrieben 12. Februar 2005 Das geht auch nicht was du da vorhast. cmd lädt das Environment nur beim Start - später nicht mehr Du könntest aber dir mal setlocal & endlocal anschauen - damit bekommts du das hin. Zitieren
Operator 10 Geschrieben 12. Februar 2005 Melden Geschrieben 12. Februar 2005 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 Zitieren
thorgood 10 Geschrieben 12. Februar 2005 Melden Geschrieben 12. Februar 2005 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 Zitieren
R.Ralle 10 Geschrieben 12. Februar 2005 Autor Melden Geschrieben 12. Februar 2005 @Operator also das ich umgebungsvariablen über vb serzen kann und im vb gleich nutzen kann ist richtig! aber in der cmd mit set werden auch die erst nach neuanmeldung angezeigt! @thorgood das mit SETENV.EXE probier ich gleich mal aus... mal sehen (ich melde dann den erfolg/misserfolg) ralle Zitieren
Operator 10 Geschrieben 12. Februar 2005 Melden Geschrieben 12. Februar 2005 Hmm... ich hab das in VBScript schon gelöst, da bin ich mir sicher. Ich schau am Montag mal nach, ok? Hab meine Anmeldescripte leider nicht zu Hause ;) Schönes WE Andre Zitieren
R.Ralle 10 Geschrieben 13. Februar 2005 Autor Melden Geschrieben 13. Februar 2005 @Operator das ist cool, dank für die mühe ! gruß Ralle Zitieren
R.Ralle 10 Geschrieben 14. Februar 2005 Autor Melden Geschrieben 14. Februar 2005 Tach, ich bin verzweifelt. Weiss den jemand wie ich sonst ein variable, die mit vb gesetzt habe in einer batch nuzen kann ?? ralle Zitieren
Operator 10 Geschrieben 14. Februar 2005 Melden Geschrieben 14. Februar 2005 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 Zitieren
R.Ralle 10 Geschrieben 14. Februar 2005 Autor Melden Geschrieben 14. Februar 2005 @Operator Danke, das klappt, habs gerade auch probiert! warum ich das am Wochenende nicht hingekrigt habe ? (brett vorm kop!) vielen Dank für dein Mühe Gruß Ralph Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.