By Zach DeMeyer Posted October 5, 2019
A key tool for automating JumpCloud® Directory-as-a-Service® is the JumpCloud PowerShell Module. The tool has grown from humble beginnings into one of the most powerful ways for cloud-forward admins to manage their environments at scale. Here is the evolution of the JumpCloud PowerShell Module and how you can use it in your organization.
What is PowerShell?
PowerShell is a scripting language initially developed for administrative command line automation of Microsoft® products. IT admins have heavily leveraged PowerShell for managing the directory service, Active Directory® (MAD). IT admins can use PowerShell to run commands and other actions at scale across their organization.
As an institution, PowerShell came to be in 2006, after several Windows® admins requested a scripting language similar to what admins could do with Unix operating systems. Their goal was to better manage their Window infrastructure though APIs and via a command line-like utility. Microsoft ended up creating a scripting language that could effectively let admins create CLIs to a wide range of IT infrastructure. In 2016, Microsoft released the PowerShell source code to the public as an open source git repo, with cross-platform support beyond Windows to include macOS, Ubuntu, and CentOS.
The Evolution of the JumpCloud PowerShell Module
Scott Reed is JumpCloud’s Solutions Architecture Manager, and the developer of the JumpCloud PowerShell Module. When Reed first started at JumpCloud, he joined the team as a Support Technician who had an extensive background in MAD system administration. During that time, he used PowerShell as one of his main tools for carrying out commands.
Shortly after joining JumpCloud, Reed saw an opportunity to use his PowerShell know-how to improve upon JumpCloud’s automation framework capabilities. After several months of work, the JumpCloud PowerShell Module was born. The JumpCloud PowerShell Module serves as an analogue to the way PowerShell is used for MAD environments, but optimized for use with JumpCloud.
Since then, demand for the PowerShell Module has grown exponentially, surpassing 3.5 million downloads as of this year. Its popularity has sparked an entirely new division at JumpCloud, called Solutions Architecture (SA), which is headed by Reed. Over the past year, the SA team has grown from a one-man band into a full-stack engineering task force. The SA team is constantly developing new and exciting ways to make using JumpCloud as easy, efficient, and effective as possible.
Using the JumpCloud PowerShell Module
For admins who have previously used PowerShell for managing MAD, the JumpCloud PowerShell Module is fairly similar in practice. For example, common PowerShell commands like New-ADUser, Get-ADObject, and Remove-ADGroup are reflected in the JumpCloud PowerShell Module as New-JCUser, Get-JCObject, and Remove-JCGroup. This enables AD admins to move into JumpCloud while retaining their PowerShell skill set. You can find a more detailed list of JumpCloud PowerShell commands here.
Admins can use the JumpCloud PowerShell Module in many ways to automate their administration. Here are several use cases.
- Importing Users and Systems using a CSV File
- Enabling Two-Factor Authentication (2FA) For The User Portal
- Listing All Users That Are Not Bound To A System
- Adding Users to Groups
- Remove Systems After X Days of Inactivity
- Managing the System User Permissions Between JumpCloud System Groups and JumpCloud User Groups
Of course, these are only a slice of the many things you can do with the JumpCloud PowerShell Module. You can find many more at this GitHub repo.
The JumpCloud SA team has also created several PowerShell processes to complete other specific tasks. One such tool is zero touch deployment for macOS systems using JumpCloud and a mobile device management (MDM) tool. With this code base, admins can streamline their onboarding of macOS systems and their users into JumpCloud.
Another tool is the JumpCloud Active Directory Migration Utility (ADMU). Using the ADMU allows admins to easily transport users/systems from a pre-existing MAD domain into JumpCloud enabling IT organization to retire their Active Directory instances.
Admins can also use the PowerShell Module in tandem with JumpCloud’s Premium System Insights™ feature. System Insights allows organizations to collect and leverage information regarding their system usage, memory, performance, and other essential stats to monitor the status of their fleets. Using the PowerShell Module allows admins to automate their reporting with ease.
If you are interested in finding more information on the JumpCloud PowerShell Module, please contact us. We’d be happy to field any questions you may have. You can also schedule a free personalized demo of the JumpCloud product and see the PowerShell Module in action.