Running a simple EXE via Kace scripting (or machine action)
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.
Answers (2)
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
Comments:
-
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:
red-121-01
red-121-02
red-121-03
etc.......
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" - SMal.tmcc 11 years ago -
It's ugly (no offense), but it does work. A LOT to be said for that. Thank you. - aintITcool 11 years ago
-
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. - SMal.tmcc 11 years ago
-
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. - aintITcool 11 years ago
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)
logfile.close
set objFSO = nothing
set WShShell = nothing
wscript.quit