Jump to content

über VBScript Benutzervariablen ändern?


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

Empfohlene Beiträge

Hallo zusammen,

 

wieder mal eine Frage von mir an die Scripting-Spezis.

 

Ich möchte, um mir das Einrichten neuer PCs an unsere neue Umgebung zu erleichtern, ein VB-Script schreiben. Etliche Teile sind schon fertig.

 

Ein Teil des Scriptes ist, die Benutzervariablen %TMP% und %TEMP% zu ändern.

Dazu habe ich nun folgenden Code, um die Werte abzufragen:

' VBScript
'Benutzervariablen %temp% und %tmp% ermitteln
Set wshshell = CreateObject("WScript.Shell")
usertemp = wshshell.ExpandEnvironmentStrings("%TEMP%")
usertmp = wshshell.ExpandEnvironmentStrings("%TMP%")

usertemps = "Benutzervariablen für temporäre Dateien:" & VbCr &_
"%TEMP%:   " & "'" & usertemp & "'" & VbCr &_
"%TMP%:   " & "'" & usertmp & "'"

result = MsgBox ( usertemps,vbokonly + VbExclamation, "Ergebnis:")

 

Wie kann ich die Werte nun ändern und zurückschreiben?

 

Dank im Voraus.

Link zu diesem Kommentar

Hi,

 

wenn es ne Usersspezifische Umgebungsvariable sein soll, muss diese unter "HKEY_CURRENT_USER\Environment" in der Registry gespeichert werden. Die systemweiten stehen unter "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" . Diese können mit vbs mit der RegWrite Methode geschrieben werden.

 

Gruß

 

woiza

Link zu diesem Kommentar

Ist das der einzige Weg?

 

Ich kann ja auch in den Word-Optionen z.B. den Standard Dokumentenspeicherpfad via VBS ändern:

 

'Neuen Dokumentenpfad setzen
Const wdDocumentsPath = 0
Set objWord = CreateObject("Word.Application")
Set objOptions = objWord.Options
objOptions.DefaultFilePath(wdDocumentsPath) = "U:\Worddokumente"
objWord.Quit

 

Geht das nicht auch in der Art?

Link zu diesem Kommentar

Ich nehms zurück. Es geht auch mit WMI. Schau dir mit Scriptomatic oder so mal Win32_environment an. (Ich verwende mittlerweile den WMI Code Creator von MS).

 

Hier mal ein Beispiel zum Auslesen mit WMI:

 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
   "SELECT * FROM Win32_Environment",,48) 
For Each objItem in colItems 
   Wscript.Echo "-----------------------------------"
   Wscript.Echo "Win32_Environment instance"
   Wscript.Echo "-----------------------------------"
   Wscript.Echo "Caption: " & objItem.Caption
   Wscript.Echo "Description: " & objItem.Description
   Wscript.Echo "InstallDate: " & objItem.InstallDate
   Wscript.Echo "Name: " & objItem.Name
   Wscript.Echo "Status: " & objItem.Status
   Wscript.Echo "SystemVariable: " & objItem.SystemVariable
   Wscript.Echo "UserName: " & objItem.UserName
   Wscript.Echo "VariableValue: " & objItem.VariableValue
Next

Link zu diesem Kommentar

Hi,

 

hier gibts die Windows Script Doc, die ist ganz gut. Ist ein einzelnes chm.

 

Ich kann dir mal ein Beispiel aus der Hilfe kopieren:

 

Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"

bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")

WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"

 

 

Gruß

 

woiza

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...