Buy vs. DIY: What DIY PowerShell Automation Really Costs a 2,000-Person Company

Listen to this blog post!

Table of contents:

Building an automation service around PowerShell makes your team responsible for its updates, permissions, user forms, audit records, and support. Those responsibilities consume staff time long after the first script goes live. Front-end licenses can add a substantial recurring cost, too.

Consider a 2,000-person company with 100 users who need to run delegated tasks. Under the assumptions below, Azure Automation with a Power Apps front end costs approximately $202,000 to $340,000 over three years. ScriptRunner’s setup and upkeep time amount to staffing costs of approximately $45,000 to $90,000 plus licensing. To compare them fairly, start with what your team's time costs.

What does your team's time cost?

This comparison uses $70 an hour, including salary and benefits. It draws on two U.S. Bureau of Labor Statistics figures: median annual pay for network and computer systems administrators of $99,130 for May 2025, and June 2026 compensation data showing wages at 68.5% of employer costs for full-time private-sector workers. Dividing $99,130 by 0.685 gives approximately $145,000 a year, or $70 for each of 2,080 paid hours.

At that rate, routine maintenance adds up. Component retirements create larger projects: Azure Automation retired Run As accounts in September 2023 and stopped all jobs on agent-based Hybrid Runbook Workers in April 2025. Teams using them had to assess the impact, migrate workloads and test them.

An estimate covering only the initial build understates the cost of DIY automation. Buying a platform transfers some ongoing work to a vendor, though your team still has responsibilities.

What work does a vendor take on?

The clearest comparison is who maintains each part of the service.

Platform updates. A commercial vendor maintains its execution infrastructure and updates supported components. Your team still tests and deploys those updates in your environment.

Where scripts run. Typical admin tasks in a hybrid Microsoft environment touch on-premises systems: a new account in Active Directory, a home drive on a file server, a group membership change. Azure Automation’s cloud sandbox reaches systems in your datacenter only if they are accessible from the public cloud, and it can’t elevate or start executables. These tasks therefore need Hybrid Runbook Workers: servers in your environment that your team patches and monitors. Microsoft’s setup guide also requires the Azure Arc agent and an outbound Azure connection for each on-premises worker.

ScriptRunner runs on a server your team maintains in your own environment and handles hybrid IT automation from there: the same Actions reach on-premises Active Directory, file servers and Microsoft 365, without the Arc layer.

Forms and permissions. A DIY team builds and maintains safe ways for help-desk staff, HR and managers to start tasks. The Azure Automation connector is Premium in Power Apps, whose Premium plan lists at $20 per user per month. This model assumes all 100 delegated users need that license.

Audit records and support. A DIY team connects records across services such as Logic Apps, Azure Automation and Log Analytics, each with its own logs, permissions and rules, and diagnoses failures between them. ScriptRunner centralizes and standardizes that work: one platform for your scripts, one set of rules for who may run and approve them, and one report format for every run. When a run fails, your team starts from that report, with vendor support behind it. With the separately licensed SIEM & Observability connector, ScriptRunner also sends its audit events through OpenTelemetry to the SIEM you already run. Documentation and shared ownership still matter for reducing PowerShell knowledge silos.

Existing automation. A platform can reuse what your team has already built. ScriptRunner’s Workflow Engine can combine existing Azure Automation runbooks, Logic Apps and tools such as Ansible into one workflow, through API calls and webhooks. Help-desk staff and managers start that workflow from the ScriptRunner Portal, with roles and an approval step you set per workflow. The Portal monitors and reports each run. In a DIY stack, Logic Apps can connect the same steps, but your team builds and maintains the connections, permissions, and records between them.

Your team also maintains its scripts. A script dependent on a retired module needs changes whichever platform runs it. The model separates that work from platform upkeep.

How do the two options compare over three years?

The model uses $70 an hour and 100 delegated users: 20 help-desk staff, about 25 HR staff and about 55 managers handling tasks such as new hires and departures. ScriptRunner's licensing cost depends on your requirements and user count, so it requires a quote.

Azure Automation keeps job logs for 30 days at most. The model forwards them to Log Analytics for a year of history, matching ScriptRunner's default report retention. Setup and upkeep hours are planning estimates; replace them with your team's records before deciding.

Over three years Azure Automation with a Power Apps front end ScriptRunner
Setup 300–700 hours ($21,000–$49,000) 10–48 hours ($700–$3,360)
Licenses Power Apps Premium for 100 users: $72,000 Licensing: request a quote
Log Analytics: one year of history 1–5 GB a month: about $100–$600 Included; reports kept 365 days by default
Platform upkeep (estimate) 0.25–0.5 of an engineer ($109,000–$218,000) 0.1–0.2 of an engineer ($44,000–$87,000)
Script maintenance Excluded; assumed equal Excluded; assumed equal
Total, excluding hosting and script maintenance Approximately $202,000–$340,000 Approximately $45,000–$90,000, plus licensing


Licensing and upkeep explain most of the difference. Power Apps costs $72,000 over three years, or $720 per delegated user. Log storage contributes little; connecting those records to activity in other services takes staff time, counted here as platform upkeep.

Pairing the low estimates and the high estimates gives a gap of roughly $157,000 to $250,000 over three years before ScriptRunner's licensing. A quote below the corresponding gap makes ScriptRunner less expensive in this model. After setup, annual costs are about $60,000 to $97,000 for DIY licenses and upkeep, versus about $15,000 to $29,000 for ScriptRunner upkeep, plus the licensing. Over four or five years, recurring costs matter far more than setup.

Check three assumptions against your environment:

Existing tools and upkeep. If your ITSM portal already starts runbooks, you may avoid Power Apps licensing, substantially changing the comparison. To estimate upkeep, count the hours spent assessing, implementing and testing your last two Microsoft retirement migrations, then add routine support.

Setup effort. A ScriptRunner installation typically takes about two hours. With ActionPacks, ScriptRunner’s ready-made scripts for common tasks, the first automations usually run within one or two workdays. The model’s 10 to 48 hours also cover roles, access groups and connecting the delegated tasks. ScriptRunner imports existing scripts without rewriting them, so other scripts can move later. AI coding assistants may reduce DIY development time, but testing, permission changes, and approvals still need a budget.

Hosting. Add Azure consumption for the remaining stack, any Hybrid Runbook Worker servers, and ScriptRunner's infrastructure. If many tasks require hybrid workers, plan toward the upper end of DIY upkeep.

What does ScriptRunner include that a DIY stack has to build?

ScriptRunner runs existing scripts as Actions, connecting each script to its parameters, credentials and targets. Credentials come from connected vaults such as Azure Key Vault or CyberArk. Run reports record who started an Action, where they started it, their inputs, and the result.

Both options can provide most of the capabilities below, but in the DIY option your team builds and maintains each one.

Capability ScriptRunner Azure Automation with a Power Apps front end
Self-service forms Generated from script parameters, with input validation Power Apps screens built for each runbook
Approvals Two-person approval per Action, recorded in reports Separate approval flows
Who may run what Roles and access groups; users need no target-system admin rights Per-runbook role assignments made with a script
Run history Reports retained for 365 days by default Up to 30 days; longer retention needs Log Analytics
Execution Server in your environment Cloud sandbox or Hybrid Runbook Workers
Script sources Any Git provider; optional signed-script enforcement One-way sync from GitHub or Azure DevOps
ITSM integration Web service connectors for ServiceNow, Ivanti and Matrix42 Webhooks with integrations your team maintains
Multi-step processes Workflow Engine connects Actions, API calls and webhooks Logic Apps or child runbooks
Savings reporting Time and cost estimates using your hourly rate No built-in equivalent


For a company delegating tasks to help-desk staff, HR and managers, these features replace work the DIY team would otherwise own. That supports the lower upkeep estimate.

Which option makes it easier to avoid Frankenscripts?

A Frankenscript supports a business process but lacks an owner, a controlled execution path or a record of who ran it against what. A simple mailbox-access script can grow into an essential scheduled task that outlasts the admin who wrote it.

Closing these governance gaps means knowing who owns each important script, which privileges and targets it uses, who may run and approve it, and how to trace and reverse a bad run.

Both options can provide controls. With DIY, your team connects repositories, permissions, credentials and logs, then maintains the rules between them. ScriptRunner includes execution controls that your team configures. Neither approach governs scripts automatically: someone must assign ownership and move them onto the controlled path.

Should you build or buy?

Building deserves consideration when your team can develop and support the service, existing tools cover much of the work, or your requirements exceed a commercial platform's capabilities. Include migrations and ongoing support alongside development effort.

Azure Automation on its own suits tasks against cloud services. For tasks against on-premises systems, or tasks that need elevated rights, add Hybrid Runbook Workers and their upkeep. Those workers also depend on Azure connectivity; a single-node ScriptRunner installation needs no external infrastructure to run.

Under this model, ScriptRunner leaves roughly $157,000 to $250,000 available for its licensing before reaching the DIY total over three years. Because the DIY option’s recurring costs are higher, that gap grows every year after setup. Help-desk staff and managers can also start tasks sooner with ScriptRunner, which means a faster ROI.

The DIY setup equals roughly two to four months of one engineer’s full-time work, while ScriptRunner’s first automations usually run within one or two workdays. Different user counts, an existing ITSM front end or lower upkeep could change these estimates. Consider workflow requirements too: ScriptRunner’s Workflow Engine may also eliminate additional development work that would be necessary in a DIY scenario.

Start by deciding who needs to run which tasks and what controls you need for delegating PowerShell to non-IT teams safely. Then assess what your current setup already covers against these requirements for enterprise PowerShell automation. Price the remaining work against a platform quote, including the years of support after launch.

‍