2011-11-18 116 views
0

我想在REG路径上的每个客户机的 HKEY_CLASSES_ROOT\Installer\Products\Product GUID\SourceList\Net\1更改来源文件服务器的路径位置,VBScript来读取注册表项和其子项

因为我们已经移除一个新现有的应用程序服务器.. 。我们能够使用vbscript中的“替换”功能将旧的服务器路径更改为新的服务器路径。

Set objWS = CreateObject("WScript.Shell") 

strKeyValue = objWS.RegRead("HKEY_CLASSES_ROOT\Installer\Products\A7C4EB2D0BDDF2A43BDD35A498E12655\SourceList\Net\1") 

newstrKeyValue = Replace(strKeyValue,"\\INADCSRV11" ,"\\INADCSRV12") 

newstrKeyValue2 = Replace (newstrKeyValue ,"SMSPKGC$" ,"SMSPKGP$") 


    Const HKEY_CLASSES_ROOT = &H80000000 
    strComputer = "." 

    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
              strComputer & "\root\default:StdRegProv") 

    strKeyPath = "Installer\Products\A7C4EB2D0BDDF2A43BDD35A498E12655\SourceList\Net\" 
     strValueName = "1" 
    strValue = newstrKeyValue2 

     oReg.SetExpandedStringValue HKEY_CLASSES_ROOT,strKeyPath,strValueName,strValue 

但我们被困在阅读了reg值.... 产品GUID是variable.First我们要读到那路径,然后读一个GUID后,我们再次阅读的完整路径 HKEY_CLASSES_ROOT\Installer\Products\Product GUID\SourceList\Net\1然后更改服务器名称

请让我知道任何人遇到过这样的情况。

回答

0

假设我没有弄错,你想枚举某个键中的所有子键,这个this answer来自另一个问题显示了这样做的代码。