wrote:
> Thanks for your reply.
>
> Would you happen to know WHY these services would have gone missing
> from the registry? I have another XP Pro 2002 (SP1) system, and these
> services are there.....
No, I don't know.
> Also, is it possible to write a REG file that would update this key,
> which is a REG_MULTI_SZ, and insert these services if they are not
> already there? I don't know the syntax for that....
No, you cannot use a REG file for this, because the list of services
in that value can be different from computer to computer.
But you can use a VBScript to do this. Below is a VBScript that
checks if BITS and wuauserv is listed in the registry value netsvcs,
and if not, adds them.
Put it a file named e.g. NetsvcsWUChk.vbs
'--------------------8<----------------------
Const HKLM = &H80000002
arrNeededSvcs = Array("BITS","wuauserv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost"
strValueName = "netsvcs"
strComputer = "." ' "use "." for local computer
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonat e}!\\" _
& strComputer & "\root\default:StdRegProv")
objReg.GetMultiStringValue HKLM, strKeyPath, strValueName, arrValues
' create string from array, easier to check for existence this way
strValues = "|" & Join(arrValues, "|") & "|"
bolUpdateNeeded = False ' init value
For Each strNeededSvcs In arrNeededSvcs
If InStr(1, strValues, strNeededSvcs, vbTextCompare) = 0 Then
' service is not in array, add it
intArrCount = UBound(arrValues) + 1
ReDim Preserve arrValues(intArrCount)
arrValues(intArrCount) = strNeededSvcs
bolUpdateNeeded = True
End If
Next
If bolUpdateNeeded Then
objReg.SetMultiStringValue HKLM, strKeyPath, strValueName, arrValues
End If
MsgBox "Done!", vbInformation + vbSystemModal, "Netsvcs check"
'--------------------8<----------------------
--
torgeir, Microsoft MVP Scripting and WMI, Porsgrunn Norway
Administration scripting examples and an ONLINE version of
the 1328 page Scripting Guide:
http://www.microsoft.com/technet/scr...r/default.mspx