2011-11-18 72 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來自另一個問題顯示了這樣做的代碼。