well now getting a error message good or bad Im not sure if that is a improvement but cant figure why it doesn't like the line
error is

ERROR : expected ')'!
line - 127

Line 127 is -
 Code:
If $strSMSServer <> "0" or $strSMSProductSuite <> "" or $strSMSType <> "18" or $strSMSVersion = "4" or $strMIPSValue <> ""


dont see what is wrong with this line now...anyone help me?

Full code I am using so far is -

 Code:
Dim $strServerLocatorPoint
Dim $strSiteCode
Dim $strSMSInstall
Dim $strSMSLogText
Dim $strComputer
Dim $strSMSClient
Dim $errReturnCode

$strServerLocatorpoint = "servername"
$strSiteCode = "sitecode"
$strSMSInstall = "no"
$strSMSLogText = ""
$strComputer =  "."
$strSMSClient = ""
$errReturnCode = ""

;Read WMI to get state of SMS client
;------------------------------------
;

$objWMIService = $GetObject("winmgmts:\\" + strComputer + "\root\cimv2")
$SMSService = $objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'SMS Agent Host' ")

SMSServiceCheck

If $errReturnCode <> "0"
    SMSInstallCheck
    If $strSMSInstall = "YES"
	SMSInstall
    end if
Else
    $SMSService = $objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE DisplayName = 'SMS Remote Control Agent' ")
    SMSServiceCheck
End If

Wscript.quit



;'*********************************
;'*Subroutines & Functions follow *
;'*********************************

function SMSServiceCheck()
;------------------

$errReturnCode = "99"

For Each $objService in SMSService

    If objService.State <> "Running"
	$errReturnCode = $objService.Change( , , , , "Automatic")
	$errReturnCode = $objService.StartService()
        $strSMSLogText = $objService.Displayname + " restarted from Login Script"
	SMSLogEvent
    else
    $errReturnCode = $objService.Change( , , , , "Automatic")

    end if
Endfunction


function SMSInstall()
;-------------

$strSMSClient = "\\" + strServerLocatorPoint + "\SMSClient\i386\CAPINST.EXE /SLP=" +
$strServerLocatorPoint + " /ADVCLI /ADVCLICMD SMSSITECODE=" + $strSiteCode

$objShell = WScript.CreateObject("WScript.Shell")
	$objShell.Run ($strSMSClient)

$strSMSLogText = "SMS Client installed from Login Script"
SMSLogEvent

Endfunction


function SMSLogEvent()
;--------------

Global $EVENT_SUCCESS = 4
$objShell = wscript.CreateObject("wscript.Shell")
$objShell.LogEvent ($EVENT_SUCCESS, $strSMSLogText)

$strSMSLogText = ""

Endfunction


Function SMSInstallCheck()
;-----------------------

$HKEY_LOCAL_MACHINE = "&H80000002"

$strSMSInstall = "NO"
$strSMSServer = "0"
$strSMSProductSuite = ""
$strSMSType = ""
$strSMSVersion = ""
$strMIPSvalue = ""
$strComputer = "."

;Lets make sure we only install on WS with no MIPS exceptions

$objWMIService = $GetObject("winmgmts:"
    + "{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2")
$colOperatingSystems = $objWMIService.ExecQuery ("SELECT * FROM Win32_OperatingSystem")

$objWMIService = $GetObject("winmgmts:" + "{impersonationLevel=impersonate}!\\" + $strComputer + "\root\cimv2")
  $colOperatingSystems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")
  For Each $objOperatingSystem in $colOperatingSystems
    $strSMSServer = $InStr($objOperatingSystem.Caption, "Server")
    $strSMSProductSuite = $objOperatingSystem.OSProductSuite
    $strSMSType = $objOperatingSystem.OSType
    $strSMSVersion = Left($objOperatingSystem.Version, 1)
  Next


  ;Check for security Exclusion

  $objReg= $GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + $strComputer + "\root\default:StdRegProv")
  $strKeyPath = "SOFTWARE\CSC\EDM\SMS\ClientConfig\Exclusions\MIPS"
  $strEntryName = "ExclusionID"
  $objReg.GetStringValue($HKEY_LOCAL_MACHINE,$strKeyPath,$strEntryName,$strMIPSValue)

    ;Lets work out if we should install a new client
  If $strSMSServer <> "0" or $strSMSProductSuite <> "" or $strSMSType <> "18" or $strSMSVersion = "4" or $strMIPSValue <> ""
    $strSMSInstall = "NO"
  Else  
    $strSMSInstall = "YES"
  EndIf
EndFunction