' GetOSData.vbs ' -------------------------------------------------------' 'Option Explicit Dim objWMIService, objItem, colItems, strComputer, item ReDim aComputers(0) 'Remember, this doesn't declare the size. It declares the maximum subcript. if WScript.Arguments.Count > 0 then ReDim aComputers(WScript.Arguments.Count-1) For i = 0 to (WScript.Arguments.Count-1) aComputers(i) = WScript.Arguments(i) Next else ' aComputers(0) = InputBox("Please type the name of the computer you wish to retrieve the updates from. For the local computer, type a '.'",_ ' "Target computer",_ ' ".") aComputers(0) = "." end if if aComputers(0) = "" then WScript.echo "You must enter a computer to retrieve updates from. Exiting" WScript.quit end if For i = 0 To UBound(aComputers) MsgBox "Checking the computer " & aComputers(i) 'Run the query Set objWMIService = GetObject("winmgmts://" & aComputers(i) & "/root/cimv2") Set colItems = objWMIService.ExecQuery ("Select * from Win32_Processor") 'dim strValues For Each objItem in colItems For Each item in objItem.Properties_ if item.name = "Name" then if(InStr(item.value,"AMD")) then MsgBox "The computer " & aComputers(i) & " appears to have an AMD processor." removeIntelppm(aComputers(i)) else MsgBox "The computer " & aComputers(i) & " appears to have an Intel processor. No need to do anything else." end if end if Next Next Next function removeIntelppm (computer) ' This is the function that actually does the work. It checks whether ' the intelppm registry key exists, and if it does, asks the user whether ' to delete it. dim message ' Turn on error handling for this function. It has some sensitive operations on error resume next Err.Clear ' We have to read the registry using WMI because WSH does not provide the functionality we need Dim bKey, sKey, retVal, objReg, arrValueNames, arrValueTypes const HKLM = &H80000002 Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _ & computer & "\root\default:StdRegProv") sKey = "SYSTEM\CurrentControlSet\Services\IntelPPM" retVal = objReg.EnumValues(HKLM, sKey, arrValueNames, arrValueTypes) ' Now we need to check the return values. Here are the possibilities 'Key doesn't exist: retVal = 2 'Key exists with one or more named values: retval = 0, arrValueNames = nonNull 'Key exists with only a default value that is empty: retval = 0, arrValueNames = null if retval = 2 then MsgBox "The intelppm key does not exist on this computer. You should be ready to install Windows XP Service Pack 3" removeIntelPPM = false exit function end if ' If we are here we have the registry key open. Read the value: Dim flagValue, sCompatFlags, newFlag retVal = objReg.GetDWORDValue(HKLM, sKey, "Start", startValue) if retVal <> 0 then ' Error - This probably means the Start value does not exist. Bail. MsgBox "The intelppm key exists, but has no Start value. This is an error condition. You should manually " &_ "investigate the value of the Start value of ""HKLM\SYSTEM\CurrentControlSet\Services\IntelPPM""" &_ "If it is set to anything other than 4, and you have an AMD-based computer, set it to 4 before " &_ "attempting to install Service Pack 3." removeIntelPPM = false exit function end if ' If we are here, we have the start value. Read it if(startValue <> 4) then ' It's set to start. Ask if we should disable it if MsgBox("The IntelPPM driver is enabled on this computer. Would you like me to disable it?", vbYesNo,"Question") = 6 then retVal = objReg.SetDWORDValue(HKLM, sKey, "Start", 4) else MsgBox "Warning, you should not attempt to install Windows XP Service Pack 3 on this AMD-based computer without first disabling " &_ "the IntelPPM driver." removeIntelPPM = false exit function end if if retVal <> 0 then 'This time we have a real error to trap if bLog then message = "Unable to write the the new start value to the registry " & vbCrLf & _ " The error returned from the system was: " & vbCrLf & _ retVal & vbCrLf end if removeIntelPPM = false exit function else MsgBox "Successfully disabled the IntelPPM driver. Please reboot before you install Windows XP Service Pack 3." end if else MsgBox "The IntelPPM driver is already set to disabled on this computer. You should be ready to install Windows XP Service Pack 3." end if ' It all looks good. removeIntelppm = true end function WScript.Quit '' SIG '' Begin signature block '' SIG '' MIIR+QYJKoZIhvcNAQcCoIIR6jCCEeYCAQExCzAJBgUr '' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB '' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB '' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFNgvadQLmwP5 '' SIG '' Qu8B3CEyTMxpWdLVoIIO3TCCA0AwggIooAMCAQICCwEA '' SIG '' AAAAARbPF4ykMA0GCSqGSIb3DQEBBQUAMGMxCzAJBgNV '' SIG '' BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh '' SIG '' MRYwFAYDVQQLEw1PYmplY3RTaWduIENBMSEwHwYDVQQD '' SIG '' ExhHbG9iYWxTaWduIE9iamVjdFNpZ24gQ0EwHhcNMDcx '' SIG '' MjEyMTYwMjE1WhcNMDgxMjEyMTYwMjE1WjBaMQswCQYD '' SIG '' VQQGEwJVUzEcMBoGA1UEAxMTSmVzcGVyIE0uIEpvaGFu '' SIG '' c3NvbjEtMCsGCSqGSIb3DQEJARYeamVzcGVyX21fam9o '' SIG '' YW5zc29uQGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEB '' SIG '' AQUAA4GNADCBiQKBgQDFIJapVPJBUvE8IRPN6Ptgpc+F '' SIG '' 638UXyr6WPoyWEg/JHQPUBonhScx/NbgK/7aoMGJbNVc '' SIG '' sl7h6GPl2nLXeMg+/6Bx9OGLgwXiMGec3Ke7bIyTPhwh '' SIG '' soRl8AtAy8B9YvGU5C6XIu9BkdDrQNTcy9aDmb9BguYp '' SIG '' 9OIJfmxxzB9AxQIDAQABo4GBMH8wEQYJYIZIAYb4QgEB '' SIG '' BAQDAgQQMA4GA1UdDwEB/wQEAwIE8DAfBgNVHSMEGDAW '' SIG '' gBTSW/NLJkulsOdd/VZ/9vEuOE5ToDA5BgNVHR8EMjAw '' SIG '' MC6gLKAqhihodHRwOi8vY3JsLmdsb2JhbHNpZ24ubmV0 '' SIG '' L09iamVjdFNpZ24uY3JsMA0GCSqGSIb3DQEBBQUAA4IB '' SIG '' AQBEYcc6uII6As+g/5vYaCoiliE+7vqNdnajdXc4Jibw '' SIG '' O1PPIoyYxZvnmzuFiWR1WnBuz3rStTHTk/Qpxz6PR0n5 '' SIG '' eXGMtMvf/IWIPtwFemBNWpLbfB2pro1nqxPGlH0mhonR '' SIG '' 4GcEV7EyYYjpihZYfRwYoZE4QpR967k9rWW7H55z/DTF '' SIG '' fH/XFGpDEEAslQqbz439+gw6c2xfJ3+05yU4RVhrlKi1 '' SIG '' re6oUUsAn5RoJt5EZVNqANYcKFRhhVcUJni7ijdn7PpG '' SIG '' VBFxCzrd0zQxeMieVRFQqGqi6wXWeHjf51I53RCqI4QL '' SIG '' z4ZAIbSZhVQelJZkQn95dCr1J7Vv+GOZqWGRMIIDdTCC '' SIG '' Al2gAwIBAgILAgAAAAAA1ni3lAUwDQYJKoZIhvcNAQEE '' SIG '' BQAwVzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2Jh '' SIG '' bFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZ '' SIG '' BgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5 '' SIG '' MDExMjAwMDBaFw0xNDAxMjgxMjAwMDBaMFcxCzAJBgNV '' SIG '' BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh '' SIG '' MRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i '' SIG '' YWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUA '' SIG '' A4IBDwAwggEKAoIBAQDaDuaZjc6j40+Kfvvxi4Mla+pI '' SIG '' H/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp '' SIG '' xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS '' SIG '' 8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlbKk3F '' SIG '' p1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUO '' SIG '' hugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWL '' SIG '' BYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEm '' SIG '' CMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N89iFo7+ry '' SIG '' Up9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIABjAd '' SIG '' BgNVHQ4EFgQUYHtmGkUNl8qJUC99BM00qP/8/UswDwYD '' SIG '' VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOCAQEA '' SIG '' rqqf/LfSyx9fOSkoGJ40yWxPbxrwZKJwSk8ThptgKJ7o '' SIG '' gUmYfQq75bCdPTbbjwVR/wkxKh/diXeeDy5slQTthsu0 '' SIG '' AD+EAk2AaioteAuubyuig0SDH81Qgkwkr733pbTIWg/0 '' SIG '' 50deSY43lv6aiAU62cDbKYfmGZZHpzqmjIs8d/5GY6dT '' SIG '' 2iHRrH5Jokvmw2dZL7OKDrssvamqQnw1wdh/1acxOk5j '' SIG '' QzmvCLBhNIzTmKlDNPYPhyk7ncJWWJh3w/cbrPad+D6q '' SIG '' p1RF8PX51TFl/mtYnHGzHtdS6jIX/EBgHcl5JLL2bP2o '' SIG '' Zg6C3ZjL2sJETy6ge/L3ayx2EYRGinij4zCCA/gwggLg '' SIG '' oAMCAQICCwQAAAAAAQjZYRzWMA0GCSqGSIb3DQEBBQUA '' SIG '' MFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxT '' SIG '' aWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD '' SIG '' VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwHhcNOTkwMTI4 '' SIG '' MTIwMDAwWhcNMTQwMTI3MTEwMDAwWjCBgTELMAkGA1UE '' SIG '' BhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex '' SIG '' JTAjBgNVBAsTHFByaW1hcnkgT2JqZWN0IFB1Ymxpc2hp '' SIG '' bmcgQ0ExMDAuBgNVBAMTJ0dsb2JhbFNpZ24gUHJpbWFy '' SIG '' eSBPYmplY3QgUHVibGlzaGluZyBDQTCCASIwDQYJKoZI '' SIG '' hvcNAQEBBQADggEPADCCAQoCggEBAKKbdSqnE7oJcSQY '' SIG '' 36EGYikSntyedXPo31ZXaZYTVk/yyLwBWO0mhnILYPUZ '' SIG '' xVUDV5u5EMmh1HRA/2wA6OZTN/632nk+uFI46YEsnw4z '' SIG '' UqbNcM5KXWL00WdevJdKB8q83Y1Hsc3xZVuFAbBLa97N '' SIG '' ji71UOijnJ0mmGs2Y0EDcETwX+IldXlQfV+hBqJGDFWV '' SIG '' RxTTkUaGaJnnJ/SU7JpBUfeW1HqM4USXaHED2FhvvbQQ '' SIG '' Qu4NZnVGi0SW0jAAEgdj90SbAXDKVm+cWJcqJxeLLnFS '' SIG '' bUarpysPfxZIZMhS+gYXAAd010WzDPV4lXPoCu7E4HKM '' SIG '' HhGqHrtezvm0AO5zvc0CAwEAAaOBmTCBljAOBgNVHQ8B '' SIG '' Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E '' SIG '' FgQUFVF5GnwMWfnazdjEOhOayXgtf00wMwYDVR0fBCww '' SIG '' KjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWduLm5l '' SIG '' dC9Sb290LmNybDAfBgNVHSMEGDAWgBRge2YaRQ2XyolQ '' SIG '' L30EzTSo//z9SzANBgkqhkiG9w0BAQUFAAOCAQEAoEIu '' SIG '' uHanQnGGQE1GTVsmsLB0+T+JqHt8t/HGl+CCOZmdQ/5g '' SIG '' gjZCtVuHjfVd9Lv/qRBEqHHTx/EiQfKapKXsY/rl62VK '' SIG '' GTCdi8e2/dw/4Wz91VIUB/xtJMyzzIGiwFLzJ7ltngY9 '' SIG '' 2KhJAjJpxwVClNC747upCMOTUBvbhG3Auh5SmGWcE3a9 '' SIG '' s9VnKS8fe6osUaD9hU8mPEijgSem/u5/eJnCRc+dH1J+ '' SIG '' 15WL/eHQIMOvflGiL2Y7qy3PLY6MTX0YOSEo+9yubWWB '' SIG '' 0ODXGEvntfd014TmUiqsO2j9O0q4AVSEkTK7ldKOYzCm '' SIG '' ns4jlv6rLrhqi3Tc3iGhFML7v1OvEDCCBCAwggMIoAMC '' SIG '' AQICCwQAAAAAAQjZYSRIMA0GCSqGSIb3DQEBBQUAMIGB '' SIG '' MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2ln '' SIG '' biBudi1zYTElMCMGA1UECxMcUHJpbWFyeSBPYmplY3Qg '' SIG '' UHVibGlzaGluZyBDQTEwMC4GA1UEAxMnR2xvYmFsU2ln '' SIG '' biBQcmltYXJ5IE9iamVjdCBQdWJsaXNoaW5nIENBMB4X '' SIG '' DTA0MDEyMjA5MDAwMFoXDTE0MDEyNzEwMDAwMFowYzEL '' SIG '' MAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24g '' SIG '' bnYtc2ExFjAUBgNVBAsTDU9iamVjdFNpZ24gQ0ExITAf '' SIG '' BgNVBAMTGEdsb2JhbFNpZ24gT2JqZWN0U2lnbiBDQTCC '' SIG '' ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALCx '' SIG '' 8oAAcM7sw4y0l+3GCYwmb4nfZ1mBz94UE0zCsUXiU3VB '' SIG '' +gc2b7oRcCiUfG1yvQcVJWU6Cf+F3Pp7XjeHOOTHSwiA '' SIG '' mJ6KzVgJAsDDAUmWWIiJJln1bca5wfsYJe3YYk7KCmxd '' SIG '' cO/O05spCwnG9u62FtQ8VI7MXeCv290jCTJ7MoEWYgoG '' SIG '' y3rPNCG2bza2sc7Lmik1QD6dWHz/rYKY+rjVico13cvN '' SIG '' VwbLm+S/lKiAmF93lvC256t0eUAhpmPp0AeRvYU4tK6W '' SIG '' rKH/FHPapUW4TYbOKjzv1N8oDnWpqIgTwuR8YJPyJcwD '' SIG '' hJfmTrafLda1izQ8q9U4Osg9xLH5lM0CAwEAAaOBtTCB '' SIG '' sjAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB '' SIG '' /wIBADAdBgNVHQ4EFgQU0lvzSyZLpbDnXf1Wf/bxLjhO '' SIG '' U6AwOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NybC5n '' SIG '' bG9iYWxzaWduLm5ldC9wcmltb2JqZWN0LmNybDARBglg '' SIG '' hkgBhvhCAQEEBAMCAAEwHwYDVR0jBBgwFoAUFVF5GnwM '' SIG '' WfnazdjEOhOayXgtf00wDQYJKoZIhvcNAQEFBQADggEB '' SIG '' ABHUXYr0PQ2dfk+nAHFhC1azTKpw4bLR3seIbR2JfCup '' SIG '' RuWLH45MwmaVkR/jTTlK4xtwt0Ru3AaKTW0l6JgS3Lyg '' SIG '' 3YZOro+BEwVAkFpUJSmUSsrxZbTvBnna58uG8ATJGNzu '' SIG '' crMgAVdI3+Mz4SzNnAd/lEcnjYiNNAymfFwgwX0Hs3Nr '' SIG '' ZIwm0pvX6HllpqiRoXSGKgUCgsGEfPJ5zTwqKw+ZKR7q '' SIG '' jIoasWrqomY4DmXhrdjGyR+IjTl27heCxBONl85jQed6 '' SIG '' 9bS2bBXDOBOzkwtiBojd4UR/EKlQJItg3AX3W6UUsntW '' SIG '' cguW6r/8BXCQZZ4FHKTdB69LV97GOWc7xXQxggKIMIIC '' SIG '' hAIBATByMGMxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH '' SIG '' bG9iYWxTaWduIG52LXNhMRYwFAYDVQQLEw1PYmplY3RT '' SIG '' aWduIENBMSEwHwYDVQQDExhHbG9iYWxTaWduIE9iamVj '' SIG '' dFNpZ24gQ0ECCwEAAAAAARbPF4ykMAkGBSsOAwIaBQCg '' SIG '' ggFsMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMCMG '' SIG '' CSqGSIb3DQEJBDEWBBRXHRrlPmld2YvC1OUcR5N3H28M '' SIG '' gzCCASgGCisGAQQBgjcCAQwxggEYMIIBFKCB5YCB4gBT '' SIG '' AGMAcgBpAHAAdABzACAAdABvACAAbQBpAHQAaQBnAGEA '' SIG '' dABlACAAdABoAGUAIABJAG4AdABlAGwAUABQAE0AIABw '' SIG '' AHIAbwBiAGwAZQBtACAAdwBpAHQAaAAgAFcAaQBuAGQA '' SIG '' bwB3AHMAIABYAFAAIABTAGUAcgB2AGkAYwBlACAAUABh '' SIG '' AGMAawAgADMAIAB3AGgAZQBuACAAcgB1AG4AIABpAG4A '' SIG '' cwB0AGEAbABsAGUAZAAgAG8AbgAgAEEATQBEAC0AYgBh '' SIG '' AHMAZQBkACAAYwBvAG0AcAB1AHQAZQByAHOhKoAoaHR0 '' SIG '' cHM6Ly9tc2luZmx1ZW50aWFscy5jb20vYmxvZ3MvamVz '' SIG '' cGVyIDANBgkqhkiG9w0BAQEFAASBgGVVgjLW+tk6Ben6 '' SIG '' MWBW+fMH/peZyEocukrjcI0u9E3eBliTnFyU0yF7TKsz '' SIG '' /SDdl4E+Bt73BhMSKc54JENmd8ReUzq3DP5qWA1o81Nh '' SIG '' wpftAuvtw5yfD0HnoX4PQ41YbpODroWmhQj3WSk4+4wq '' SIG '' j7Sl9KZhFVP0o1zMlBCd+1Sk '' SIG '' End signature block