Open leandrotenorio opened 6 years ago
With the version available on our website (https://raw.github.com/fusioninventory/fusioninventory-agent/2.4.x/contrib/windows/fusioninventory-agent-deployment.vbs), I deploy the version 2.4 without problems...
Hey, This error is displayed to me:
"Command line error: The value 'http:' is not allowed for /server=option"
My code is the same... just changing the address of the server. Someone can help me?
There are many scripts in the internet about create GPO for install of the fusioninventory, on this, I adapted the code with version 2.4 and the install in my server, but, this isn´t working, but, with version 2.2.7.3, it is working normally.
Option Explicit Dim versionverification, fusionarguments, uninstallocsagent, fusionsetupURL ''''' USER SETTINGS ''''' versionverification = "2.4.0.4" fusionarguments = "/S /server=http://myservicedeskdomain/plugins/fusioninventory/ /rpc-trust-localhost /runnow" ' Depending on your needs, you can use either HTTP or Windows share 'fusionsetupURL = "\server1\data\fusioninventory-agentwindows-i386" & versionverification & ".exe" fusionsetupURL = "http://mydomain.com.br/fusioninventory-agent_windows-i386_" & versionverification & ".exe"
uninstallocsagent = "yes" ''''' DO NOT EDIT BELOW ''''' Function baseName (strng) Dim regEx, ret Set regEx = New RegExp regEx.Global = true regEx.IgnoreCase = True regEx.Pattern = ".*/\$" baseName = regEx.Replace(strng,"$1") End Function
Function isHttp (strng) Dim regEx, matches Set regEx = New RegExp regEx.Global = true regEx.IgnoreCase = True regEx.Pattern = "^(http(s?)).*" If regEx.Execute(strng).count > 0 Then isHttp = True Else isHttp = False End If Exit Function End Function
' http://www.ericphelps.com/scripting/samples/wget/index.html Function SaveWebBinary(strUrl) 'As Boolean Const adTypeBinary = 1 Const adSaveCreateOverWrite = 2 Const ForWriting = 2 Dim web, varByteArray, strData, strBuffer, lngCounter, ado ' On Error Resume Next 'Download the file with any available object Err.Clear Set web = Nothing Set web = CreateObject("WinHttp.WinHttpRequest.5.1") If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest") If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP") If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP") web.Open "GET", strURL, False web.Send If Err.Number <> 0 Then SaveWebBinary = False Set web = Nothing Exit Function End If If web.Status <> "200" Then SaveWebBinary = False Set web = Nothing Exit Function End If varByteArray = web.ResponseBody Set web = Nothing 'Now save the file with any available method On Error Resume Next Set ado = Nothing Set ado = CreateObject("ADODB.Stream") If ado Is Nothing Then Set fs = CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile(baseName(strUrl), ForWriting, True) strData = "" strBuffer = "" For lngCounter = 0 to UBound(varByteArray) ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1, 1))) Next ts.Close Else ado.Type = adTypeBinary ado.Open ado.Write varByteArray ado.SaveToFile CreateObject("WScript.Shell").ExpandEnvironmentStrings("%Temp%") & "\fusioninventory.exe", adSaveCreateOverWrite ado.Close End If SaveWebBinary = True End Function
Function removeOCS() On error resume next
End Function
Function needFusionInstall () Dim Fusion ' install fusion if version is different or if not installed needFusionInstall = False On error resume next Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion") If err.number = 0 Then ' Verification on OS 32 Bits If Fusion <> versionverification Then needFusionInstall = True Else needFusionInstall = False Return End If Else ' Verification on OS 64 Bits On error resume next Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion") If err.number = 0 Then If Fusion <> versionverification Then needFusionInstall = True End if Else needFusionInstall = True End If End If End Function
''' MAIN Dim WshShell Set WshShell = Wscript.CreateObject("Wscript.shell")
If uninstallocsagent = "yes" Then removeOCS() End If
If needFusionInstall() Then If (isHttp(fusionsetupURL)) Then SaveWebBinary(fusionsetupURL) WshShell.Run "CMD.EXE /C %TEMP%\fusioninventory.exe " & fusionarguments,0,True Else WshShell.Run "CMD.EXE /C """ & fusionsetupURL & """ " & fusionarguments,0,True End If End If