Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


DarrenWhite99 last won the day on March 22

DarrenWhite99 had the most liked content!

Community Reputation

112 Excellent

My Information

  • Location
    Redding, California, US
  • Agent Count
    1000 - 1500 Agents


    Senior Network Engineer
  1. PowerShell Deployment Scripts

    For a command that can be run as a remote monitor (or in a startup script, scheduled task, or scheduled Automate Script) that makes PowerShell appear as an installed Application in the Software Inventory, see: https://www.labtechgeek.com/topic/3935-expose-powershell-version-as-an-installed-software-application/
  2. PowerShell Deployment Scripts

    Version 1.0.4


    I used the stock PowerShell 2.0 update script, and modified it for PowerShell 3, 4, and 5. I attempted to cover pre-requisites checks to prevent installing on systems with incompatible applications or operating systems. The scripts will check if the KB is reported as installed after the update completes to determine status. This means that the script will report the update was successful even if a reboot is still needed. The attached .ZIP has 3 scripts, one for each version, in a single XML bundle. To import the Scripts, select Tools -> Import -> XML Expansion. After import the scripts should appear in the "__Examples" folder. This pairs nicely with the PowerShell Version Roles at https://www.labtechgeek.com/files/file/13-powershell-version-roles/
  3. Bitlocker Enabled

    It should show as a detected role. Updates to Roles should cause the LTShare\Transfer\configs.gz file to be updated. If the timestamp for that file is not current, then remote agents won’t know about the role. To tell them about the role, issue a “Config Update” command. (Probably not needed over 48 hours later) To have updated role information sent back, issue the “System Information” Inventory Update command. And since the role would only be seen for a matching agent, make sure you are checking a system that should have the role. Once the role is detected, you can reference it in a search and you can check for it in a script.
  4. Alert When Agent Is Online

    Version 1.0.0


    The Internal Monitor "Notify When Agent is Online" watches machines with the "Notify When Online" computer EDF configured. It will send an alert as soon as it finds that the agent is offline. When the agent comes online again another alert email will be sent and the EDF will be reset. This can be used to notify when a lost computer comes online, or when that machine that is only online in the office every few weeks is back. To enable notifications for an agent, you simply put your email address into the "Notify When Online" EDF. You can enter multiple addresses separated by ";". The contents of the agent's "Comments" will be included in the email also. (Helpful to remember why you wanted to be alerted, or what instructions should be followed after receiving the alert.) When the agent returns online, the Network Inventory and System Info are refreshed. The recovery email will include the following details: The last check in was at @AgentCheckIn@. Public IP Detected: %RouterAddress% Internal IP: %LocalAddress% System Uptime: %uptime% Last Logged in User: %lastuser% This bundle includes a Script, EDF, and a .sql file with an Internal Monitor. To import the Script and EDF, select Tools -> Import -> XML Expansion. After import the script should appear in the "\Autofix Actions" folder. To import the Internal Monitor, select Tools -> Import -> SQL File. The monitor should be imported AFTER the script bundle has already been added.
  5. PowerShell Version Roles

    Version 1.0.1


    This bundle will add the following Role Definition: PowerShell And the following Sub-Definitions: PowerShell 1 PowerShell 2 PowerShell 3 PowerShell 4 PowerShell 5 PowerShell 6 To import these Role Definitions, in the ConnectWise Automate main screen, go to Tools > Import -> SQL File. Browse to the relevant file, and OK the message about inserting 7 rows.
  6. HP Proliant Server Roles

    Version 1.0.0


    This bundle will create the following Role: HP Server And the following sub-roles: HP Server - Gen6 HP Server - Gen7 HP Server - Gen8 HP Server - Gen9 HP Server - Gen10 I don't do a lot with HP servers, so these roles are not heavily tested. If you see anything detected incorrectly, please let me know so that I can update the role detection definition. To import these Role Definitions, in the ConnectWise Automate main screen, go to Tools > Import -> SQL File. Browse to the relevant file, and OK the message about inserting 6 rows.
  7. Dell Server Roles

    Version 1.0.0


    This bundle will create the following Role: Dell Server And the following sub-roles: Dell Server - 3G Dell Server - 4G Dell Server - 5G Dell Server - 6G Dell Server - 7G Dell Server - 8G Dell Server - 9G Dell Server - 10G Dell Server - 11G Dell Server - 12G Dell Server - 13G Dell Server - 14G Let me know if you find anything incorrectly detected, there are some odd ones prior to Gen10/11, and Gen14 is brand new so I have nothing in production to test against yet. To import these Role Definitions, in the ConnectWise Automate main screen, go to Tools > Import -> SQL File. Browse to the relevant file, and OK the message about inserting 13 rows.
  8. Forum Search Issues

    FWIW, I have used the search a few times, and I believe it found the posts I was looking for without issue.. (One search didn't get the matches I wanted, but I believe that was because nobody had posted something on the topic, not necessarily that the search didn't work right.) And yes, when you are in a forum or reading a topic the search is limited to the current context by default and doesn't search site wide.. But hitting the "More search options" after searching, or clicking the dropdown next to the search box and changing "This topic" or "This forum" to "All Content" before searching easily gets me moving with full site searching. Thank you very much for resolving thing.. (Now if only you could detect all URLs beginning with labtechgeek.com and ending with a period or a comma and separating the extra character from the URL, that would be awesome and would fix many broken post links.... See https://www.labtechgeek.com/topic/3715-mac-os-x-installer-configsh/?do=findComment&comment=22816 for an example...)
  9. Analyze ExecuteScript Function

    Version 1.1.0


    This function script should be called right before and after the "Execute Script" function. It will catch the temporary script as it is written to the agent, preserve a copy, and check for Non-ASCII characters that can break script execution. When called a second time, it will retrieve the information gathered. The saved file and analysis log file are also left on the agent for additional investigation if needed.
  10. Reset Agent ID

    Version 1.0.0


    This script will force the CWA Agent to re-register with the server, hopefully with new ID. It does this by clearing the current MAC and ID values, which should cause the agent to be detected as new. This can be used when multiple agents are sharing the same ID. In the future, I plan to make a universal reset, since the Agent OS detection is not suitable when two agents with different OS are sharing the same ID. The commands used can also be pulled out and sent manually through a remote shell, or through the CWControl agent.
  11. Version 1.0.1


    This bundle contains the three following scripts: FUNCTION - Check For Pending Reboot Checks to determine if a Reboot is needed. Sets "@RebootPending@=1" if a restart is required. "@RebootReason@" will contain the reasons a reboot was required, if any were found. If @RebootReason@ includes "!", the reboot is required. Process PendingFileRenameOperations This script will attempt to process pending file operations that would otherwise require a restart to complete. This may allow a reboot to be avoided. Perform Computer Restart* This script will execute a restart and sleep until the computer has restarted successfully. The script will wait 30 minutes before exiting with an error. Variable "@RebootPending@" used to return Reboot Status. @RebootPending@ = 0 if reboot successful @RebootPending@ = 255 if reboot failed
  12. ScriptletsPack

    Version 1.0.0


    This bundle contains separate SQL imports to add the following Scriptlets: Check If Agent Is Online - Just checks if the agent has a recent contact timestamp, and branches based on the result. Example Loop - A simple loop (Like in the Scripting Lab) to execute a loop repeatedly until it reaches the specified limit. Example SQL Loop - A more complex loop that uses the SQL Get Dataset function to retrieve a recordset and loop through the results. Exit If Not Windows OS - Basic 2 line script starter to abort if the agent is not running a windows OS. Pause Script Until Remote Commands are Retrieved - A OS Neutral command that guarantees that the script will halt until the agent picks up the command and returns the result. Useful for pacing some operations that can fail if executed out of order. In times past, not all remote commands would pause the script. A "Create Folder" and a "Copy File" command could be scripted one after the other, but both could end up queued at the same time, and the agent might start the copy before the folder has been created. Also useful after executing an agent restart or service restart, ensures that the agent is checking in again. The Script Wait allows additional time to pass before continuing the script execution. Run Temporary Batch or Shell Script - Largely replaced by the Execute Script function for Windows, but still useful for OSX/Linux. (And still works fine with Windows). This scriptlet generates a random filename, writes the script contents to the file, executes and then removes the script from the agent. To import a scriptlet, just use the Tools->Import->SQL function in Control Center (Or load the file contents into a Query Editor in SQLYog).