<?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>assessment reports &#8211; Blue Lance</title>
	<atom:link href="https://bluelance.com/docs-tag/assessment-reports/feed/" rel="self" type="application/rss+xml" />
	<link>https://bluelance.com</link>
	<description></description>
	<lastBuildDate>Sat, 13 Jun 2026 15:30:41 +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>assessment reports &#8211; Blue Lance</title>
	<link>https://bluelance.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>What is PowerShell Orchestrator?</title>
		<link>https://bluelance.com/docs/what-is-powershell-orchestrator/</link>
		
		<dc:creator><![CDATA[peter thomas]]></dc:creator>
		<pubDate>Thu, 28 May 2026 16:21:14 +0000</pubDate>
				<guid isPermaLink="false">https://bluelance.com/?post_type=docs&#038;p=15866</guid>

					<description><![CDATA[PowerShell Orchestrator is a centralized job scheduling and execution platform for PowerShell scripts across distributed Windows environments. It consists of a web-based server for managing scripts, jobs, and schedules, and lightweight agents deployed on target machines that execute scripts remotely. How PowerShell Orchestrator works: The server manages all aspects of the platform — scripts, jobs, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">PowerShell Orchestrator is a centralized job scheduling and execution platform for PowerShell scripts across distributed Windows environments. It consists of a web-based server for managing scripts, jobs, and schedules, and lightweight agents deployed on target machines that execute scripts remotely.</p>



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



<p class="wp-block-paragraph"><strong>How PowerShell Orchestrator works:</strong></p>



<p class="wp-block-paragraph">The server manages all aspects of the platform — scripts, jobs, schedules, syslog targets, and connected agents. Agents are deployed on the Windows machines where scripts need to run. Each agent polls the server for queued jobs, executes the assigned PowerShell script locally, and forwards script output to the configured syslog destination.</p>



<p class="wp-block-paragraph"><strong>Data flow:</strong></p>



<ol class="wp-block-list">
<li>Administrator uploads PowerShell scripts to the server and configures syslog targets</li>



<li>Administrator creates a job or schedule, selecting a script, agent, and target</li>



<li>The agent polls the server and claims the queued job</li>



<li>The agent downloads and executes the PowerShell script locally</li>



<li>Script output is forwarded to the configured syslog target in real time</li>



<li>The agent reports job completion, exit code, and execution logs back to the server</li>



<li>Results are available for review in the Jobs page and in LT Auditor-MP</li>
</ol>



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



<p class="wp-block-paragraph"><strong>Core components:</strong></p>



<p class="wp-block-paragraph"><strong>PowerShell Orchestrator Server</strong> An ASP.NET Core web application that hosts the administrative interface and REST API. It manages script storage, job queuing, schedules, syslog targets, and agent registrations. The server runs as a Windows service named <strong>PowerShellOrchestrator</strong> and uses a SQLite database for persistence. The web interface is accessible via browser on port 52866 (HTTPS) or 52865 (HTTP).</p>



<p class="wp-block-paragraph"><strong>PowerShell Orchestrator Agent</strong> A .NET background service deployed on each Windows machine where scripts need to run. The agent polls the server for available jobs at a configurable interval (default: every 20 seconds), downloads and executes assigned PowerShell scripts, forwards output to the configured syslog target, and sends regular heartbeats to the server (default: every 60 seconds). The agent runs as a Windows service named <strong>PowerShellOrchestrator.Agent</strong>.</p>



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



<p class="wp-block-paragraph"><strong>Key capabilities include:</strong></p>



<ul class="wp-block-list">
<li>Centralized storage and management of PowerShell scripts</li>



<li>Remote script execution across distributed Windows agents</li>



<li>On-demand and scheduled recurring job execution using cron expressions</li>



<li>Real-time job status monitoring and execution history</li>



<li>Script output forwarding to syslog targets for centralized logging in LT Auditor-MP</li>



<li>Secure HTTPS/TLS communication between server and agents</li>



<li>Role-based access control with forced password changes</li>



<li>Support for both Windows PowerShell 5 and PowerShell Core 7</li>



<li>Runs as a Windows service on Windows or Linux systemd service on Linux</li>
</ul>



<p class="wp-block-paragraph"><strong>Common use cases:</strong></p>



<ul class="wp-block-list">
<li>Automated assessment of Active Directory configuration and security posture</li>



<li>Scheduled execution of compliance and security audit scripts across the environment</li>



<li>Remote PowerShell script execution without requiring direct access to individual machines</li>



<li>Centralized collection and forwarding of PowerShell script output to LT Auditor-MP</li>



<li>Automating routine administrative tasks across distributed Windows infrastructure</li>
</ul>



<p class="wp-block-paragraph"><strong>How PowerShell Orchestrator fits into LT Auditor-MP:</strong></p>



<p class="wp-block-paragraph">PowerShell Orchestrator extends LT Auditor-MP&#8217;s capabilities into active script-based assessment and automation. Where other modules collect events passively as they occur, PowerShell Orchestrator actively executes scripts on demand or on a schedule — querying the state of your Windows environment and forwarding structured results to LT Auditor-MP for analysis, alerting, and compliance reporting.</p>



<p class="wp-block-paragraph"><em>[Your administrator should confirm which Windows machines are in scope for PowerShell Orchestrator agent deployment and which scripts will be used in your environment.]</em></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<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>
	</channel>
</rss>
