Scripting Question

Running a simple EXE via Kace scripting (or machine action)

10/02/2013 5990 views

I'm sure there's a simple answer out there, but for the life of me, I can't seem to find it.  Quick backstory.  I've been saddled with Symantec's Endpoint Protection for another 3 years.  Yay...  Every morning, I log in and run through the machines that are out-of-date, despite the fact that the SEP manager is supposed to do this for me.  I can "technically" update content via the web manager, but it hardly ever works.  I usually wind up remoting into the out-of-date machines just to launch "SepLiveUpdate.exe" from "C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\" 

I'd like to either use a script to run the EXE silently from the command line, or setup a machine action to run it from the inventory page for one-off work.  The script that I've used so far, just launches the CMD window but not the update.  The machine actions that I've used, just launch it on my machine, despite the "KACE_HOST_IP" parameter. 

Am I over/under thinking this?  It seems like it should be easy, but I'm just missing it somewhere.

Answer Summary:
0 Comments   [ + ] Show comments


Community Chosen Answer


according to symantecs web site there are no command switches for this exe.  If you have a k1000 you can create a kscript that runs at login to run this.  If you do not you can use pstools psexec to remotely launch this against a list of machines and run it remotely that way

Answered 10/02/2013 by: SMal.tmcc
Red Belt

  • Using pstools - psexec
    We run this from a server vs w/s so certain staff can remote to server and run and we only have one set of files out there.

    We have a text files for the the classrooms with the machines names in them

    example red-121.txt would look like:


    then using pstools psexec we call that text file and a batch file to do the task. The user you name in the psexec get passed to the machines.

    the call would be
    psexec @red-121.txt -i -accpteula -u (user or domain\user) -p password -d "C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\SepLiveUpdate.exe"
  • This content is currently hidden from public view.
    Reason: Removed by member request For more information, visit our FAQ's.
  • It's ugly (no offense), but it does work. A LOT to be said for that. Thank you.
    • It is, but we use many tools to get to machines and I look more at what is fast and efficient more then what is elegant and flashy. I just fixed a file problem in one classroom on 30 machines using psexec without ever touching them in 5 minutes and the fix took me 1 min to create. The longest part was waiting for deepfreeze to reboot thawed to make the change.
      • I'm a convert. PSexec just updated 85% of the problem computers I've got, without me having to get in there, interrupt the user, and launch the commands. Awesome tool. Thanks again.

All Answers


Create a script that creates a scheduled task and runs once a few minutes in the future.  You can also create a task to delete the task you created if you want to run it again in the future.  Alternatively, you can create a script that runs weekly on all computers and forget about it.  use a script something like this:

Set WSHNetwork = CreateObject("WScript.Network")
set objFSO = CreateObject("Scripting.FileSystemObject")
Set WShShell = CreateObject("WScript.Shell")
SystemDrive = WShShell.ExpandEnvironmentStrings("%SystemDrive%")
SystemRoot = WShShell.ExpandEnvironmentStrings("%SystemRoot%") ' usu. C:\Windows
System32 = SystemRoot & "\System32"

msgTitle = "Creating Symantec update task. "
msgDelay = 2
znow = now + .0037
zdate = Date

HR = Hour(znow)
MN = Minute(znow)
M = Month(zdate)
D = Day(zdate)
Y = Year(zdate)
if len(M) = 1 then M = "0" & M
if len(D) = 1 then D = "0" & d
if len(HR) = 1 then HR = "0" & HR
if len(MN) = 1 then MN = "0" & MN
if len(zdate) = 9 then zdate = "0" & zdate

If not objFSO.FolderExists(SystemDrive & "\Temp") then objFSO.CreateFolder SystemDrive & "\Temp\"
set logFile = objFSO.OpenTextFile (SystemDrive & "\temp\CreateTask_" & WSHNetwork.ComputerName  & "_" & WSHNetwork.username & ".txt",2, true )
logFile.writeline  FormatDateTime(now,2) & " " & FormatDateTime(now,3) &  " - Symantec Update Started " & "  Computer: " & WSHNetwork.ComputerName & "  User: " & WSHNetwork.username

Path = System32 & "\schtasks.exe /create /tn " & chr(34) & "Update Symantec" & chr(34) & " /tr " & chr(34) & "C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\SepLiveUpdate.exe " & chr(34) & "/sc once /st " & HR & ":" & MN & " /sd " & M & "/" & D & "/" & Y & " /ru YourDomain\adminusername /rp adminpassword /rl HIGHEST"
logFile.writeline Path
Return = WShShell.Run(Path,1,TRUE)

set objFSO = nothing
set WShShell = nothing


Answered 10/02/2013 by: lkitsmiller
Yellow Belt

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login


This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ