Jump to content
stuarta99

Software deployment

Recommended Posts

I've just installed this addon and got a new custom tab configured on the workstation window.  I understand it's possible to add-in check boxes to deploy scripts that I've created but don't know how I can go about this.

Can someone please point me in the right direction please

Share this post


Link to post
Share on other sites

Ok I've picked one of my scripts "Install Google Chrome".  So I've gone into Dashboard/Configurations/Additional Fields and added a new Field Name of Install Google Chrome.  I've then gone into my script and added SET : [EXTRAFIELD: Install Google Chrome]= but not sure what the value should be.  I've then gone back into my custom tab and chosen Tab Type of EDF Field List and then under Get EDF's selected Field Chooser and picked Install Google Chrome.

I can see it on the tab now with a checkbox, but how do I get it to kick in the script?

Share this post


Link to post
Share on other sites

I'm thinking maybe I need to list the items I want to install such as Chrome/7zip/Java.  Then tick the boxes of what I want to install.  The script then looks to see what is checked and install as necessary.  Just unsure how 

Share this post


Link to post
Share on other sites

I use the following system:

  • Like the Ignite "Onboarded" checkbox, I have an EDF that controls "Automatic Actions".
  • I have a search that joins all agents with "Automatic Actions" checked into a grayed master group named something like "Automatic Actions Enabled".
  • I have another search like "Application XXX Installation Needed" for Agents that have the "Install Application XXX" EDF selected AND that do NOT have "Application XXX" installed.
  • Given that I have a generic "Application XXX Installer" script (that technicians could use for instance), I create a script like "Application XXX Installation Wrapper".
  • "Application XXX Installation Wrapper" should include the following logic:
    • It should independently verify the values for the EDFs.
    • It should verify that the application is not already installed (Resend Software Inventory first).
    • It should use Script State variables or some other mechanism to track each time it is called. 
    • It should open a ticket before calling the generic "Application XXX Installer" script. If there is already a ticket (should be known from the Script State variables you saved) then update it.
    • If it determines it is stuck in a loop (Using Script State? 3rd pass without completing successfully, etc.) it should update the ticket to say it is stuck, or maybe make a new ticket, and should skip attempting to install.  Some applications will not install (or detect as installed) if the agent has a pending reboot. The wrapper can test if there is a reboot pending and skip attempting to install if it knows it will fail. (Maybe don't count this pass as a failure, since you are just waiting until the agent gets rebooted and the install didn't actually fail.)
    • It should perform any reasonable preparations for the script, such as checking for incompatible OS or conflicting applications, etc.
    • It should populate any parameter variables that "Application XXX Installer" requires.
    • It can then run the generic script.
    • Once the generic script finishes, the wrapper can test if it was successful, and then update or complete the ticket and set or clear the state variables as appropriate.
  • I schedule my "Application XXX Installation Wrapper" script every 1-4 hours against the "Automatic Actions Enabled" group for all ONLINE agents, and use the "Application XXX Installation Needed" search as a limiter for the script targets.
  • Depending on how you are flagging the failures, if the search for "Application XXX Installation Needed" can detect and exclude those agents it is even cleaner.

I have the same format for "Application XXX Upgrade Needed" targets (application is installed, but the version is not >= XXXX) and "Application XXX Uninstall Needed". Actually, my EDF isn't a checkbox, it is a dropdown with values like "Install Application XXX", "Remove Application XXX", "Ignore Application XXX", with "Ignore Application XXX" being the default. Actually, my computer EDF also has an option called "Inherit from parent", and I have the same named EDF available for the Location, with the same options, including the inherit from parent choice which looks at the same named EDF for the Client.  The search incorporates all of this logic, but you can start simple and work towards that.  

Here is what one of these searches looks like for an example:

 Searches-TrendAVInstallNeeded.png.e047710adc4373ca187ae742740ff11b.png

Edited by DarrenWhite99

Share this post


Link to post
Share on other sites

ok thanks that's just done a low flyby on me.  Just getting round to getting scripts done :)

I have some scripts so far for 7zip/Chrome/ESET/Java.  I thought about having these on a custom tab and then thought I'd just call  them from the onboarding script, but that could get messy for existing machines that we add agents too.

For now I think I'm just going to create a master install wrapper script to call the above 4 scripts once LT has been installed

Share this post


Link to post
Share on other sites
On 10/24/2017 at 5:38 PM, DarrenWhite99 said:

I use the following system:

  • Like the Ignite "Onboarded" checkbox, I have an EDF that controls "Automatic Actions".
  • I have a search that joins all agents with "Automatic Actions" checked into a grayed master group named something like "Automatic Actions Enabled".
  • I have another search like "Application XXX Installation Needed" for Agents that have the "Install Application XXX" EDF selected AND that do NOT have "Application XXX" installed.
  • Given that I have a generic "Application XXX Installer" script (that technicians could use for instance), I create a script like "Application XXX Installation Wrapper".
  • "Application XXX Installation Wrapper" should include the following logic:
    • It should independently verify the values for the EDFs.
    • It should verify that the application is not already installed (Resend Software Inventory first).
    • It should use Script State variables or some other mechanism to track each time it is called. 
    • It should open a ticket before calling the generic "Application XXX Installer" script. If there is already a ticket (should be known from the Script State variables you saved) then update it.
    • If it determines it is stuck in a loop (Using Script State? 3rd pass without completing successfully, etc.) it should update the ticket to say it is stuck, or maybe make a new ticket, and should skip attempting to install.  Some applications will not install (or detect as installed) if the agent has a pending reboot. The wrapper can test if there is a reboot pending and skip attempting to install if it knows it will fail. (Maybe don't count this pass as a failure, since you are just waiting until the agent gets rebooted and the install didn't actually fail.)
    • It should perform any reasonable preparations for the script, such as checking for incompatible OS or conflicting applications, etc.
    • It should populate any parameter variables that "Application XXX Installer" requires.
    • It can then run the generic script.
    • Once the generic script finishes, the wrapper can test if it was successful, and then update or complete the ticket and set or clear the state variables as appropriate.
  • I schedule my "Application XXX Installation Wrapper" script every 1-4 hours against the "Automatic Actions Enabled" group for all ONLINE agents, and use the "Application XXX Installation Needed" search as a limiter for the script targets.
  • Depending on how you are flagging the failures, if the search for "Application XXX Installation Needed" can detect and exclude those agents it is even cleaner.

I have the same format for "Application XXX Upgrade Needed" targets (application is installed, but the version is not >= XXXX) and "Application XXX Uninstall Needed". Actually, my EDF isn't a checkbox, it is a dropdown with values like "Install Application XXX", "Remove Application XXX", "Ignore Application XXX", with "Ignore Application XXX" being the default. Actually, my computer EDF also has an option called "Inherit from parent", and I have the same named EDF available for the Location, with the same options, including the inherit from parent choice which looks at the same named EDF for the Client.  The search incorporates all of this logic, but you can start simple and work towards that.  

Here is what one of these searches looks like for an example:

 Searches-TrendAVInstallNeeded.png.e047710adc4373ca187ae742740ff11b.png

This is awesome. Thanks for this share.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...