This is PNC IT's effort to create a system of modularized code that can be used across a variety of components within the Datto RMM system. The hope is that this will allow Datto RMM users to use tested and sophisticated code without having to repeat code within components themselves. This speeds up component development, raises the bar for what can be reasonably be accomplished in a component, and opens the possibility for a variety of tight integrations with any system with an API.
- Although most of the code is agnostic and can be run from any device running a Windows OS, we designed it explicitly to enhance Datto RMM environments.
- This system assumes you are running PowerShell 5.0. We know for sure it will fail on versions prior to 3.0, and no attempt is made for backward compatibility. Keep your software updated.
See the Functions Documentation to see what functions have been developed and can be used.
This is an overview; detailed instructions for setup and implementation are avaialable here. The system essentially consists of
hubFunctions.zip, a zip file withhubFunctions.psm1, a PowerShell Module containing definitions for all of the functions in this projectGet-HubFunctions.ps1, a PowerShell script that you attach to your Datto RMM Components- A set of site-level variables defined in your Datto RMM interface
- A line of code in your Component:
.\Get-HubFunctions.ps1
that runs Get-HubFunctions.ps1, which downloads hubFunctions.zip, processes the contents, and makes all of the functions available to the Component.
See our Installation Instructions
The project is structured fairly simply at this point. There are three folders:
- docs This contains documentation on installation and the individual functions available
- psFunctions These are the functions that drive the components. They are divided into subfolders for better organization, and one function is defined per file with the file name repeating the function name.
- deploy These are the files and scripts that control deployment.
We would love to get feedback and contributions. If you are interested in contributing, please contact rgg
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details
Some code is from external sources. At this point all such code was distributed with the MIT License and license details have been added to the individual files in accordance with that license.