How can I get KACE to run a script when a user action occurs?

Is it possible to get KACE to run a script on a machine immediately when some condition happens on the client/agent machine?

I need the script to run on the agent machine within 1 minute of the condition happening (like a user clicking a button). This is because I need an application to update to a newer version only when the user does something.
Right after the user action I may be able to create file or a setting that KACE will be able to see.

The problem is that KACE should react immediately. But if I set the inventory interval very low and use a custom condition it might affect the general performance of KACE, since there are many client machines.

5 Comments   [ + ] Show comments
  • Kace scripts are run either on a schedule or as a push from the web interface. They can't be triggered by an action of another solution unless that solution can call the script itself that is locally on the machine. - nshah 3 years ago
  • What about forcing inventory checkin from the client machine? - Rye bread 3 years ago
  • An option you could look into (but it would cause a lot of traffic) is to create a custom inventory rule to look for a specific file or registry key and when it finds it, the PC is added to a smart label automatically, then create the script you wish to run to be associated with that smart label and run every 10 minutes or so. I would add a line in the script to remove that custom inventory field trigger so it does not continuously rerun the script. - DaveMT 3 years ago
  • My idea is:
    1. Client creates file or registry key that KACE is set up to recognize
    2. Client forces inventory check-in to cause KACE to run the rules immediately
    3. KACE sees the file/registry and runs the script

    This has to happen within 1 minute and not cause performance degradation of the entire system... - Rye bread 3 years ago
  • I tried to do the forced check-in by calling runkbot.exe 4 0.

    With admin rights, I could see my computer in the at the top of the Devices list sorted by Last inventory.

    Unfortunately it failed when I ran it without admin rights. - Rye bread 3 years ago

Answers (2)

Answer Summary:
Posted by: Desktop Jockey 3 years ago
Second Degree Green Belt
There is no easy button for this...
However, You can call a script directly from the client machine. So if the user action can invoke a local script you could call something like this:

"C:\Program Files (x86)\Dell\KACE\Runkbot.exe" <SCRIPT ID> 0
Where SCRIPT ID = https://K1000/adminui/kbot.php?ID=611
Example: "C:\Program Files (x86)\Dell\KACE\Runkbot.exe" 611 0
This will kick off the script directly. As long as you dont have large dependencies this should do what you are hoping. Barring that there is an active Kbox connection.

  • Thanks. The script I need to run requires administrator rights (it's an update/patching job). That's why I need KACE to run it.
    If the client calls Runkbot.exe can that get KACE to run the update script right away? - Rye bread 3 years ago
Posted by: Rye bread 3 years ago
White Belt

Top Answer

It's impossible to do this.

I can send an inventory via the API even without admin rights. But the inventory checks/results cannot be linked to scripts in KACE, so that gets me nowhere.

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