Isolating Sitecore Scheduled Tasks to Specific Environments

> Useful for database refreshes
Cover Image for Isolating Sitecore Scheduled Tasks to Specific Environments

The Problem

As a complement to my post on database refreshes, I've written a PowerShell script chunk that can be used to isolate Sitecore scheduled tasks to specific environments (assuming that your scheduled task is performed using Sitecore PowerShell Extensions).

This is useful for preventing production-only scheduled tasks from running in downstream environments after a refresh. It saves you the step of having to make manual changes.

The Script

$environmentName = [System.Configuration.ConfigurationManager]::AppSettings["env:define"]
$serverRole = [System.Configuration.ConfigurationManager]::AppSettings["role:define"]
Write-Host "Environment: $environment"
Write-Host "Server Role: $serverRole"
$productionEnvironmentName = "Production"
# Note about the '.Contains()'. You must use that syntax because '-contains' doesn't work
if(-not $environmentName -eq $productionEnvironmentName
-or -not $serverRole.Contains("ContentManagement")){
Write-Host "This should only run on PROD CM. Exiting."
exit;
}
# Your other code...

Future Enhancements

In discussions with Michael West, he suggested that this can also be accomplished using the rules engine in Sitecore. There aren't any OOB rules that check the Sitecore configuration, but it would be ideal to compare those values before executing any scripts. That way, we don't need to add the code snippet above to every script.

Stay in your lane,

-MG

I chose these words

More Posts

Cover Image for One Key Trick for Building Bulletproof Components That Work in Pages Editor

One Key Trick for Building Bulletproof Components That Work in Pages Editor

> Developers face the same key challenge when building for Pages as they did for the Experience Editor

Cover Image for NextJS: Access has been blocked by CORS policy

NextJS: Access has been blocked by CORS policy

> CORS is almost as much of a nuisance as GDPR popups

Cover Image for Year in Review: 2022

Year in Review: 2022

> Full steam ahead

Cover Image for SPE Script Performance & Troubleshooting

SPE Script Performance & Troubleshooting

> Script never ends or runs too slow? Get in here.