We’re always evaluating the best, easiest, and most efficient ways to write, run, and publish Windows Powershell scripts and modules. But, our starting point is always how people work now.
We were curious about how PowerShell scripters, including managers, ran scripts, and how their employees ran scripts written for them.
To gather this information, SAPIEN Technologies, Inc. created an online survey about the ways in which users run PowerShell scripts. We encouraged users to participate in a blog post and several posts on Facebook and Twitter. And, people really responded. We collected 88 responses between 12/16/2015 and 1/05/2016.
Here are our major findings:
- More than 2/3 (65%) of respondents run scripts in the console. This was not correlated with # machines managed or whether the user managed other people.
- 23% (21) respondents run scripts in Task Scheduler. That’s not much less than those who run scripts in their editor 37.5% (33) (“ISE”, “PowerShell Studio”, “PowerGUI”).
- When employees (delegates) run scripts, they’re far more likely to run them in an .EXE or GUI, or from File Explorer. Console drops to half.
- For an ideal script-running environment for employees, 14.4% (11) respondents mentioned web pages or web portals, even though no respondents said they used one. Other popular answers were GUI, console, and executable files, far in excess of those who actually used them.
- About 25% of scripts are run as scheduled tasks. Some (10 each) respondents never or almost always ran scripts as scheduled tasks.
- 2/3 (47/75) of respondents never run scripts signed. 12% (9/75) always do.
- 77% (41/53) respondents use the RemoteSigned execution policy.
- Almost half (47%) of users use logs to evaluate their script results. 42% stare at the console. One person waits for people to file issues on GitHub.
How do you run scripts?
A few things surprised me. For scripts that I use all the time, I run them from the console. But if the script does anything complex, or runs infrequently, I almost always open it in PowerShell Studio, review how it works, and then run it from PowerShell Studio.
Well, I’m not alone. In fact, 20% of users described the same “console+editor” pattern. 22% use the console exclusively and 15% use an editor exclusively.
Also, none of the answers was correlated with the size of the enterprise or number of servers/workstations managed, except that larger enterprises used homegrown workbenches or services, like Kaseya and LabTech.
A handful of respondents mentioned SCCM, SMA, Azure Automation, and Orchestrator, but they totaled only 7%.
I was also surprised 17% of respondents run scripts solely or in part in Task Scheduler. That might be because their scripts are scheduled as tasks, or they are using Task Scheduler to automatically run a script with different permissions.
How do your employees run scripts?
As you would expect, the answers changed when we asked about how managers have employees run scripts. And, many respondents were careful to distinguish between employees who were proficient in PowerShell and those who just followed instructions.
The number of people running from the console (alone or in combination) dropped from 65% to 50%. Task Scheduler dropped from 24% to 8%.
19% of respondents provide some sort of GUI interface for their employees to run scripts, 16% have them run from File Explorer, and 13% package their scripts in executable files for employees to run.
Ideal for operators running scripts
We also asked about ideal environments for delegated script execution.
GUIs were the most popular answer, increasing from 19% (actual) to 30% (ideal). But the second choice was a web page or portal. About 14% of respondents thought that was ideal, although only one respondent reported actually using one.
22% stuck with the console. One respondent explained that, in their opinion, anyone who ran scripts should know at least enough PowerShell to run them with the correct parameters and values.
Runner-ups were executable files (13%), File Explorer (6.5%), and Task Scheduler (5%).
Thanks to everyone who participated in the survey. If you’re interested in more information from the survey, let me know. And, if you have comments about the results, please post them here.