Even if I’m not a developer, not even a little, I’ve always liked Powershell, and the way it can be used to expand the capabilities of a software that supports it. I’ve written in the past small scripts in Powershell, nothing that can be called a program, but useful tools to ease or automate different tasks.
Veeam Backup & Replication supports Powershell since its v4 release, back in 2009. The dedicated Powershell section of the Veeam Forums has grown over the years and has today (19th August 2016) more than 6000 posts. Also, v7 in 2013 introduced support for RESTful API, and even this section in the forums has seen a significant growth. People loves to make automate operations, extend the original software beyond its capabilities writing scripts and little programs, and ultimately makes their job easier and avoid manual tasks.
So far, Veeam forums has been the main location to search for and to share code, together with several blogs of both Veeam engineers and end users sharing their own scripts. There is already a tremendous amount of code available in the Internet in regards to Veeam, but both these platforms are lacking one important piece: collaboration. Searching for a script on the forums can be done via the search options, but often the seach leads to a thread where people have then to read all the posts to figure out the final version of the script. And if the script needs to be updated, a new post has to be added.
It’s 2016, and luckily there is a better platform to share code over internet: github. Git is a version control system used in software development: it has been originally developed by Linus torvalds in 2005 for the development of the Linux kernel, and has some unique features that make it a great choide. Most of all, it’s not a server-client solution, but each installation in each computer is a full-fledged repository with complete history and full version-tracking capabilities, independent of network access or a central server. This makes it perfect to collaborate in distributed groups, like developers all over the world.
Github is a public repository for Git, with the addition of a really nice web interface (git alone is a command line tool). The combination of the two solutions allows everyone to share code over internet in an extremely easy way, receive feedback and edits, update the code, and so on.
So, when at Veeam some engineers decided it was time to create a central repository for all the developed code, Github was a natural choice.
VeeamHub has been created with the goal to collect, maintain and share different software creations related to Veeam. Powershell scripts, VMware vRealize Orchestrator workflows, and other software projects are already shared there. Note that the code in VeeamHub is community supported, but NOT officially supported. Even if some Veeam people is involved, the software shared over VeeamHub is not supported nor guaranteed by Veeam Software. Think about it more as a community project to offer to everyone a central platform to share the code.
So, how can you use it? Just like any other github resource, you can first of all simply retrieve the code and use it for your own need. Almost all the code is released under the MIT License, which basically allows you to do anything with the code you grabbed. If you find some issues, or you just want to give feedback, or suggest improvements (but you don’t know how to write the code yourself),register for a free github account and comment by using the issues section. For example, I published my “Veeam Cloud Connect backups importer” powershell script, if you use Cloud Connect and you need to import in the local console your tenants backups, give the script a try.
VeeamHub has been created for the entire Veeam community; we plan to expand its content by loading new code, but we also hope that every user would like to contribute to it, and make it better and better!