Toon posts:

[VBScript] Uitlezen van een Registry String

Pagina: 1
Acties:

Verwijderd

Topicstarter
Na een vorige post die gesloten is, heb ik wat extra zoek werk verricht maar jammer genoeg nog niet het juiste gevonden.

Ik zit namelijk met het volgende probleem:

In een VBScript waarin in systeem informatie heb staan zoals CPU, geheugen, windows versie, etc.

Wil ik graag de inhoud van "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" er in zetten met een echo.

Het probleem is alleen dat ik steeds de melding krijg dat de inhoud niet is uit te lezen.

Ik denk dat dit komt omdat ik een waarde probeer uit te lezen ipv van de listing van "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"??

Heeft iemand tips,script,info om dus de inhoud (records) van "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" te laten zien??

/Titel =Uitlezen ipv Uitleven

[ Voor 5% gewijzigd door Verwijderd op 09-03-2005 13:18 . Reden: Titel Edit ]


  • Angelfire
  • Registratie: September 2000
  • Laatst online: 07:49

Angelfire

AKA AZwaanR or RZA

Ik snap niet geheel wat je wilt, maar als je een listing wilt van alle keys onder RUN, dan moet je hetvolgende even aanpassen aan je eigen wensen:
Dit is een deel van een script wat ik gebruik om NTuser.dat's aan te passen, je moet dit dus kunnen gebruiken voor wat je wilt. Ik enumereer hierin ook een aantal keys onder een subkey.

Suc6

Dim sSearchString
Dim sLocalComputer
Dim sKeyPath
Dim oReg
Dim arrSubKeys
Dim subKey
Dim arrValueTypes
Dim arrValueNames
Dim I
Dim sValue
Dim sReturn
Dim sNewValue
Dim strusername
Dim strhomepath
const HKEY_LOCAL_MACHINE = &H80000002

Set WSHNetwork = WScript.CreateObject("WScript.Network")

'on error resume next
strusername = wshnetwork.username
Set objUser = GetObject("WinNT://Domein/" & strUserName & ",user")
strhomepath = objuser.Get("HomeDirectory")
sSearchString = LCase("\\vs2ocwhof02\users$\"&strusername)

'oLogFile.WriteLine Now & " : FIXOUTLOOK FUNCTION (switch) : " & sSwitch

sLocalComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sLocalComputer & "\root\default:StdRegProv")
sKeyPath = "SYSTEM\CurrentControlSet\Services"
'sKeyPath= "software\microsoft\windows\currentversion\installer\folders"
'If sSwitch = "PROF" Then
' sKeyPath = "TEMP\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
' Else
' sKeyPath = "TEMP\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\" & sOldUserName
'End If
oReg.EnumKey &H80000002, sKeyPath, arrSubKeys
'oReg.EnumKey HKEY_LOCAL_MACHINE, sKeyPath, arrSubKeys
'WScript.Echo sKeyPath &VBCRLF& "1"&arrSubKeys & subkey

For Each subKey In arrSubKeys
oReg.enumValues HKEY_LOCAL_MACHINE, sKeyPath & "\" & subKey, arrValueNames, arrValueTypes
For I=0 To UBound(arrValueNames)
If arrValueTypes(I) = REG_SZ Then
oReg.getStringValue HKEY_LOCAL_MACHINE, sKeyPath & "\" & subKey, arrValueNames(I), sValue
If InStr(LCase(sValue),sSearchString) Then
'oLogFile.WriteLine Now & " : FOUND " & sValue
sNewValue = Replace(LCase(sValue),LCase(sSearchString),strhomepath)
'oLogFile.WriteLine Now & " : NewValue " & sNewValue
sReturn = oReg.SetStringValue(HKEY_LOCAL_MACHINE, sKeyPath & "\" & subKey, arrValueNames(I), sNewValue)
'oLogFile.WriteLine Now & " : ERROR RETURN " & sReturn
End If
End If
Next
Next

Set oReg = Nothing
on error goto 0
err.clear

I play my enemies like a game of chess...


  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 08:55

sopsop

[v] [;,,;] [v]

Kerel. Er zijn al twee topics van je gesloten omdat je je niet aan de eisen van een topicstart voldoet. Je derde poging is niet veel beter.

Waar is je code, wat heb je allemaal geprobeerd, etc, etc, etc.

Verwijderd

Topicstarter
boppert schreef op woensdag 09 maart 2005 @ 14:38:
Kerel. Er zijn al twee topics van je gesloten omdat je je niet aan de eisen van een topicstart voldoet. Je derde poging is niet veel beter.
Oke bedankt!!

Verwijderd

lastig he boppert!
;)

Verwijderd

Help die jongen gewoon! Boppert moet even niet zo bijdehand doen met zijn 220 posts. Hij komt net kijken!

Verwijderd

Heb je hier wat aan itstim?;

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Option Explicit

Dim strComputer, strKey, strSubKey
Dim objRegistry
Dim arrSubKeys()
Dim strDisplayName, strDisplayVersion, strInstallLocation

Const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."
strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

'*********************************************************************
'* CALLOUT A
'*********************************************************************
Set objRegistry = GetObject("winmgmts:"   & _
    "{impersonationLevel=Impersonate}!\\" & _
    strComputer & "\root\default:StdRegProv")

'*********************************************************************
'* CALLOUT B
'*********************************************************************
objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKey, arrSubKeys

'*********************************************************************
'* CALLOUT C
'*********************************************************************
On Error Resume Next
For Each strSubKey In arrSubKeys

    objRegistry.GetStringValue HKEY_LOCAL_MACHINE, _
                               strKey & "\" & strSubKey, _
                               "DisplayName", _
                               strDisplayName

    objRegistry.GetStringValue HKEY_LOCAL_MACHINE, _
                               strKey & "\" & strSubKey, _
                               "DisplayVersion", _
                               strDisplayVersion

    objRegistry.GetStringValue HKEY_LOCAL_MACHINE, _
                               strKey & "\" & strSubKey, _
                               "InstallLocation", _
                               strInstallLocation

    WScript.Echo strSubKey
    WScript.Echo String(Len(strSubKey), "-")
    WScript.Echo "Display name:     " & strDisplayName
    WScript.Echo "Display version:  " & strDisplayVersion
    WScript.Echo "Install location: " & strInstallLocation
    WScript.Echo

    strDisplayName = vbEmpty
    strDisplayVersion = vbEmpty
    strInstallLocation = vbEmpty

Next

Verwijderd

Topicstarter
Dat werkt perfect alleen wanneer ik hem aanpas naar de ze >

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Dan krijg ik niks meer.
Pagina: 1