<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>script scheduling &#8211; Blue Lance</title>
	<atom:link href="https://bluelance.com/docs-tag/script-scheduling/feed/" rel="self" type="application/rss+xml" />
	<link>https://bluelance.com</link>
	<description></description>
	<lastBuildDate>Mon, 01 Jun 2026 18:27:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://bluelance.com/wp-content/uploads/2025/11/fevicon-ic-1.png</url>
	<title>script scheduling &#8211; Blue Lance</title>
	<link>https://bluelance.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Creating and Scheduling Scripts</title>
		<link>https://bluelance.com/docs/creating-and-scheduling-scripts/</link>
		
		<dc:creator><![CDATA[peter thomas]]></dc:creator>
		<pubDate>Thu, 28 May 2026 16:21:05 +0000</pubDate>
				<guid isPermaLink="false">https://bluelance.com/?post_type=docs&#038;p=15872</guid>

					<description><![CDATA[PowerShell Orchestrator allows you to define, store, and schedule PowerShell scripts that run against your managed endpoints and Entra ID targets. Scripts are the core of what PowerShell Orchestrator does — they query your directory environment, collect assessment data, and forward results to LT Auditor MP. This article covers how to create, configure, and schedule [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">PowerShell Orchestrator allows you to define, store, and schedule PowerShell scripts that run against your managed endpoints and Entra ID targets. Scripts are the core of what PowerShell Orchestrator does — they query your directory environment, collect assessment data, and forward results to LT Auditor <sup>MP</sup>. This article covers how to create, configure, and schedule scripts within the platform.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Understanding scripts in PowerShell Orchestrator:</strong></p>



<p class="wp-block-paragraph">A script in PowerShell Orchestrator consists of:</p>



<ul class="wp-block-list">
<li>The <strong>PowerShell code</strong> to execute on the target endpoint or against Entra ID</li>



<li>The <strong>target endpoint or cloud target</strong> the script runs against</li>



<li>A <strong>schedule</strong> defining when and how often the script runs</li>



<li>Optional <strong>alert linkage</strong> that triggers the script automatically in response to a security event</li>
</ul>



<p class="wp-block-paragraph">Scripts are stored centrally in LT Auditor <sup>MP</sup> and pushed to the relevant endpoint at execution time. Output from each script run is captured and forwarded to the LT Auditor <sup>MP</sup> server as structured assessment data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Accessing the script library:</strong></p>



<ol class="wp-block-list">
<li>Log in to the LT Auditor <sup>MP</sup> Web UI</li>



<li>Navigate to <strong>Configure → PowerShell Orchestrator → Scripts</strong></li>



<li>The script library displays all saved scripts with their name, target, schedule status, and last run time</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Creating a new script:</strong></p>



<ol class="wp-block-list">
<li>Click <strong>Add New Script</strong></li>



<li>Configure the script details:
<ul class="wp-block-list">
<li><strong>Script Name</strong> — a clear, descriptive name (e.g., &#8220;AD Privileged Group Membership Assessment&#8221;)</li>



<li><strong>Description</strong> — the purpose of the script and what it assesses</li>



<li><strong>Target Type</strong> — select either a managed endpoint or an Entra ID cloud target</li>



<li><strong>Target</strong> — select the specific endpoint or cloud target from the configured list</li>
</ul>
</li>



<li>Enter or paste your PowerShell script code in the script editor:</li>
</ol>



<p class="wp-block-paragraph"># Example: List all members of the Domain Admins group</p>



<p class="wp-block-paragraph">Get-ADGroupMember -Identity &#8220;Domain Admins&#8221; -Recursive |</p>



<p class="wp-block-paragraph">Select-Object Name, SamAccountName, DistinguishedName |</p>



<p class="wp-block-paragraph">ConvertTo-Json</p>



<ol start="4" class="wp-block-list">
<li>Configure output settings:
<ul class="wp-block-list">
<li><strong>Output Format</strong> — JSON is recommended for structured data forwarding to LT Auditor <sup>MP</sup></li>



<li><strong>Max Output Size</strong> — set a limit to prevent excessively large outputs</li>
</ul>
</li>



<li>Click <strong>Save</strong></li>
</ol>



<p class="wp-block-paragraph"><em>[Your administrator should populate the script library with assessment scripts relevant to your environment. Blue Lance may provide a default set of assessment scripts — refer to the Blue Lance documentation at https://www.bluelance.com/docs for details.]</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Recommended assessment scripts to create:</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Script Name</strong></td><td><strong>Purpose</strong></td></tr><tr><td>Domain Admins Membership</td><td>Lists all current members of the Domain Admins group</td></tr><tr><td>Stale User Accounts</td><td>Identifies user accounts inactive for 90+ days</td></tr><tr><td>Accounts Without MFA</td><td>Identifies Entra ID accounts without MFA enabled</td></tr><tr><td>Local Admin Accounts</td><td>Lists local administrator accounts on managed servers</td></tr><tr><td>Expired Passwords</td><td>Identifies accounts with expired or never-expiring passwords</td></tr><tr><td>GPO Configuration Assessment</td><td>Reviews Group Policy Object settings for security misconfigurations</td></tr><tr><td>Entra ID Role Assignments</td><td>Lists all current Entra ID role assignments</td></tr><tr><td>Conditional Access Policy Review</td><td>Reviews Entra ID conditional access policy configurations</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><em>[Your administrator should adjust this list based on your organization&#8217;s specific assessment requirements and compliance frameworks.]</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Scheduling a script:</strong></p>



<ol class="wp-block-list">
<li>Open the script configuration</li>



<li>Navigate to the <strong>Schedule</strong> tab</li>



<li>Click <strong>Add Schedule</strong></li>



<li>Configure the schedule:
<ul class="wp-block-list">
<li><strong>Frequency</strong> — Daily, Weekly, Monthly, or a custom interval</li>



<li><strong>Day and Time</strong> — when the script should run</li>



<li><strong>Time Zone</strong> — the timezone for schedule execution</li>
</ul>
</li>



<li>Click <strong>Save</strong></li>
</ol>



<p class="wp-block-paragraph">The script will run automatically at the configured time and forward its output to the LT Auditor <sup>MP</sup> server.</p>



<p class="wp-block-paragraph">Stagger script schedules to avoid running multiple assessment scripts simultaneously, particularly against the same domain controller. Concurrent assessments can impact domain controller performance.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Running a script on demand:</strong></p>



<p class="wp-block-paragraph">To run a script immediately without waiting for the scheduled time:</p>



<ol class="wp-block-list">
<li>Open the script from the script library</li>



<li>Click <strong>Run Now</strong></li>



<li>Monitor the execution progress in <strong>Configure → PowerShell Orchestrator → Execution Log</strong></li>



<li>When complete, navigate to <strong>View</strong> in the Web UI to see the assessment results</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Editing an existing script:</strong></p>



<ol class="wp-block-list">
<li>Open the script from the script library</li>



<li>Click the <strong>Edit</strong> icon</li>



<li>Make the necessary changes to the script code, target, or schedule</li>



<li>Click <strong>Save</strong></li>
</ol>



<p class="wp-block-paragraph">Changes to a script take effect on the next scheduled run or the next time the script is run manually. Any currently running execution of the script will complete using the previous version.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Duplicating a script:</strong></p>



<p class="wp-block-paragraph">To create a similar script quickly without starting from scratch:</p>



<ol class="wp-block-list">
<li>Select the script from the script library</li>



<li>Click <strong>Duplicate</strong></li>



<li>Modify the name, target, or code as needed</li>



<li>Click <strong>Save</strong></li>
</ol>



<p class="wp-block-paragraph">This is useful when you need to run the same assessment against multiple different endpoints.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Enabling and disabling scripts:</strong></p>



<p class="wp-block-paragraph">To temporarily suspend a script without deleting it:</p>



<ol class="wp-block-list">
<li>Open the script configuration</li>



<li>Toggle the <strong>Active</strong> switch to off</li>



<li>The script will not run on its schedule until re-enabled</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Deleting a script:</strong></p>



<ol class="wp-block-list">
<li>Select the script from the script library</li>



<li>Click the <strong>Delete</strong> icon</li>



<li>Confirm the deletion</li>
</ol>



<p class="wp-block-paragraph">Deleting a script removes it and its schedule permanently. Historical execution results and assessment data already forwarded to LT Auditor <sup>MP</sup> are retained and are not affected.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Best practices:</strong></p>



<ul class="wp-block-list">
<li>Use descriptive script names and descriptions so other administrators understand the purpose of each assessment without needing to read the code</li>



<li>Always test new scripts with <strong>Run Now</strong> before activating their schedule to confirm they produce the expected output</li>



<li>Use JSON output format wherever possible for clean, structured data forwarding to LT Auditor <sup>MP</sup></li>



<li>Stagger schedules across scripts and endpoints to avoid performance impacts during peak hours</li>



<li>Store scripts in source control outside of LT Auditor <sup>MP</sup> as a backup, especially for complex assessments</li>



<li>Review the script library regularly and remove or update scripts that are no longer relevant</li>



<li>Use the least privilege principle for the service account — scripts should only have the read access they need</li>
</ul>



<p class="wp-block-paragraph"><em>[Your administrator should document the purpose and expected output of each script in the library so the team can interpret assessment results correctly.]</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Viewing Script Execution History</title>
		<link>https://bluelance.com/docs/viewing-script-execution-history/</link>
		
		<dc:creator><![CDATA[peter thomas]]></dc:creator>
		<pubDate>Thu, 28 May 2026 16:20:54 +0000</pubDate>
				<guid isPermaLink="false">https://bluelance.com/?post_type=docs&#038;p=15876</guid>

					<description><![CDATA[The PowerShell Orchestrator execution log provides a complete record of every script run — whether triggered by a schedule, run manually on demand, or fired automatically in response to an alert. Reviewing execution history regularly helps confirm that assessments are running as expected, identify scripts that are failing, and retrieve assessment output for investigation or [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The PowerShell Orchestrator execution log provides a complete record of every script run — whether triggered by a schedule, run manually on demand, or fired automatically in response to an alert. Reviewing execution history regularly helps confirm that assessments are running as expected, identify scripts that are failing, and retrieve assessment output for investigation or compliance purposes.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Accessing the execution log:</strong></p>



<ol class="wp-block-list">
<li>Log in to the LT Auditor <sup>MP</sup> Web UI</li>



<li>Navigate to <strong>Configure → PowerShell Orchestrator → Execution Log</strong></li>



<li>The execution log displays all script runs with the following information:</li>
</ol>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Column</strong></td><td><strong>Description</strong></td></tr><tr><td>Script Name</td><td>The name of the script that was executed</td></tr><tr><td>Target</td><td>The endpoint or cloud target the script ran against</td></tr><tr><td>Trigger Type</td><td>How the script was triggered — Scheduled, Manual, or Alert</td></tr><tr><td>Status</td><td>The outcome of the execution — Success, Failed, or Running</td></tr><tr><td>Started</td><td>The date and time the execution began</td></tr><tr><td>Completed</td><td>The date and time the execution finished</td></tr><tr><td>Duration</td><td>How long the script took to complete</td></tr><tr><td>Triggered By</td><td>The user or alert rule that initiated the execution</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Filtering the execution log:</strong></p>



<p class="wp-block-paragraph">To narrow down the execution log to specific runs:</p>



<ol class="wp-block-list">
<li>Use the filter bar at the top of the execution log</li>



<li>Filter by any combination of:
<ul class="wp-block-list">
<li><strong>Script Name</strong> — view runs for a specific script</li>



<li><strong>Target</strong> — view runs against a specific endpoint or cloud target</li>



<li><strong>Trigger Type</strong> — filter by Scheduled, Manual, or Alert</li>



<li><strong>Status</strong> — filter by Success, Failed, or Running</li>



<li><strong>Date Range</strong> — limit results to a specific time period</li>
</ul>
</li>



<li>Click <strong>Apply Filters</strong></li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Viewing execution details and output:</strong></p>



<p class="wp-block-paragraph">To view the full details and output of a specific script run:</p>



<ol class="wp-block-list">
<li>Locate the execution entry in the log</li>



<li>Click the entry to open the detail panel</li>



<li>The detail panel displays:
<ul class="wp-block-list">
<li><strong>Execution Status</strong> — Success, Failed, or Running</li>



<li><strong>Start and End Time</strong> — exact timestamps for the run</li>



<li><strong>Target</strong> — the endpoint or cloud target the script ran against</li>



<li><strong>Trigger</strong> — what initiated the execution (schedule name, user, or alert rule)</li>



<li><strong>Script Output</strong> — the full output returned by the script</li>



<li><strong>Error Messages</strong> — any errors encountered during execution</li>



<li><strong>Exit Code</strong> — the PowerShell exit code returned by the script</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Understanding execution statuses:</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Status</strong></td><td><strong>Description</strong></td></tr><tr><td>Success</td><td>The script completed without errors and output was forwarded to LT Auditor <sup>MP</sup></td></tr><tr><td>Failed</td><td>The script encountered an error and did not complete successfully</td></tr><tr><td>Running</td><td>The script is currently executing — output not yet available</td></tr><tr><td>Timeout</td><td>The script exceeded the maximum allowed execution time and was terminated</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Investigating failed executions:</strong></p>



<p class="wp-block-paragraph">If a script shows a status of <strong>Failed</strong>, use the following steps to diagnose the issue:</p>



<ol class="wp-block-list">
<li>Open the failed execution entry in the log</li>



<li>Review the <strong>Error Messages</strong> section for details on what went wrong</li>



<li>Check the <strong>Exit Code</strong> — a non-zero exit code indicates a PowerShell error</li>
</ol>



<p class="wp-block-paragraph"><strong>Common failure causes:</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Error</strong></td><td><strong>Likely Cause</strong></td><td><strong>Resolution</strong></td></tr><tr><td>Access denied</td><td>Service account lacks required permissions</td><td>Review and update service account permissions</td></tr><tr><td>WinRM connection refused</td><td>WinRM not running on target endpoint</td><td>Start the WinRM service on the target machine</td></tr><tr><td>Target unreachable</td><td>Network or firewall issue</td><td>Verify connectivity using Test-WSMan</td></tr><tr><td>Script timeout</td><td>Script taking too long to complete</td><td>Optimize the script or increase the timeout limit</td></tr><tr><td>Module not found</td><td>Required PowerShell module missing on target</td><td>Install the required module on the target endpoint</td></tr><tr><td>Authentication failure</td><td>Service account credentials expired</td><td>Update the service account credentials in the orchestrator configuration</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Viewing assessment results in LT Auditor <sup>MP</sup>:</strong></p>



<p class="wp-block-paragraph">Script output forwarded to LT Auditor <sup>MP</sup> is available in the View module alongside event data from other modules:</p>



<ol class="wp-block-list">
<li>Navigate to <strong>View</strong> in the Web UI</li>



<li>Select the environment and category relevant to your assessment (e.g., Active Directory, Entra ID)</li>



<li>Set the date range to cover the time of the script execution</li>



<li>Filter by:
<ul class="wp-block-list">
<li><strong>Source</strong> — select PowerShell Orchestrator</li>



<li><strong>Script Name</strong> — filter by the specific script if needed</li>
</ul>
</li>



<li>Review the structured assessment data returned by the script</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Exporting execution history:</strong></p>



<p class="wp-block-paragraph">To export the execution log for reporting or audit purposes:</p>



<ol class="wp-block-list">
<li>Apply your desired filters and date range</li>



<li>Click the <strong>Export</strong> button</li>



<li>Choose your format:
<ul class="wp-block-list">
<li><strong>CSV</strong> — for Excel or data analysis</li>



<li><strong>Excel</strong> — native Excel format</li>



<li><strong>PDF</strong> — for audit documentation</li>
</ul>
</li>



<li>Click <strong>Download</strong></li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Monitoring scheduled script health:</strong></p>



<p class="wp-block-paragraph">Use the execution log to confirm that scheduled scripts are running as expected:</p>



<ol class="wp-block-list">
<li>Filter the execution log by <strong>Trigger Type — Scheduled</strong></li>



<li>Review the most recent run for each scheduled script</li>



<li>Confirm:
<ul class="wp-block-list">
<li>The last run time matches the expected schedule</li>



<li>The status shows as <strong>Success</strong></li>



<li>The output contains the expected assessment data</li>
</ul>
</li>



<li>If a scheduled script has not run at its expected time, check:
<ul class="wp-block-list">
<li>The script is set to <strong>Active</strong> in the script library</li>



<li>The PowerShell Orchestrator service is running</li>



<li>The target endpoint is reachable</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Best practices:</strong></p>



<ul class="wp-block-list">
<li>Review the execution log at least weekly to confirm all scheduled assessments are running successfully</li>



<li>Investigate any failed executions promptly — a failing assessment script means a gap in your security posture visibility</li>



<li>Use the execution log as part of incident response to confirm that alert-linked scripts fired correctly and produced useful output</li>



<li>Retain execution history exports as supporting evidence for compliance audits</li>



<li>Set up an alert rule in LT Auditor <sup>MP</sup> to notify your team when a critical assessment script fails so issues are caught quickly rather than discovered during a log review</li>
</ul>



<p class="wp-block-paragraph"><em>[Your administrator should define which assessment scripts are considered critical and ensure alert notifications are configured for any failures in those scripts.]</em></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
