<?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>Nerdio Archives - Jens Du Four</title>
	<atom:link href="https://jensdufour.be/tag/nerdio/feed/" rel="self" type="application/rss+xml" />
	<link>https://jensdufour.be/tag/nerdio/</link>
	<description>Connecting you to the cloud, one endpoint at a time!</description>
	<lastBuildDate>Wed, 01 Apr 2026 12:24:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Automating New Device Setup with Nerdio Scripted Sequences</title>
		<link>https://jensdufour.be/2026/04/01/automating-new-device-setup-with-nerdio-scripted-sequences/</link>
					<comments>https://jensdufour.be/2026/04/01/automating-new-device-setup-with-nerdio-scripted-sequences/#respond</comments>
		
		<dc:creator><![CDATA[Jens Du Four]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 23:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Intune]]></category>
		<category><![CDATA[Nerdio]]></category>
		<category><![CDATA[NME]]></category>
		<category><![CDATA[Scripted Sequences]]></category>
		<category><![CDATA[Windows 365]]></category>
		<guid isPermaLink="false">https://jensdufour.be/?p=1009</guid>

					<description><![CDATA[<p>Use Nerdio Scripted Sequences to automate multi-step device setup on Windows 365 and Intune devices. Includes a real-world developer onboarding demo.</p>
<p>The post <a href="https://jensdufour.be/2026/04/01/automating-new-device-setup-with-nerdio-scripted-sequences/">Automating New Device Setup with Nerdio Scripted Sequences</a> appeared first on <a href="https://jensdufour.be">Jens Du Four</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Introduction</h2>



<p>Setting up a new device for a developer usually means installing tools, cloning repositories, and applying configurations, <strong>all in a specific order</strong>. <a href="https://learn.microsoft.com/en-us/intune/intune-service/fundamentals/what-is-intune">Microsoft Intune</a> handles app and script deployment well, but it does not guarantee execution order. A Git install that finishes after the script that clones your repos is a problem.</p>



<p><strong>Nerdio Scripted Sequences</strong> solve this. Introduced in <a href="https://getnerdio.com/">Nerdio Manager for Enterprise</a> (NME), Scripted Sequences let you define complex, multi-step task workflows with a guaranteed order of operations. They target Intune-managed devices, including <a href="https://learn.microsoft.com/en-us/windows-365/overview">Windows 365</a> Cloud PCs, and execute tasks sequentially through the Nerdio Endpoint Worker.</p>



<p>In this post we will build a real-world <strong>developer workstation onboarding sequence</strong> that installs Git, Visual Studio Code, clones team repositories, and confirms completion, all in the right order, every time.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Note:</strong> Scripted Sequences are in Public Preview. Feature scope and limitations may change in future NME releases.</p>
</blockquote>



<h2 class="wp-block-heading">What Are Scripted Sequences?</h2>



<p>Scripted Sequences are an automation feature in NME that lets you create multi-step task workflows deployed to Intune-managed devices. Think of them as a lightweight task sequencer built into the Nerdio console.</p>



<p>Key characteristics:</p>



<figure class="wp-block-table"><table>
<thead>
<tr>
<th>Aspect</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Supported targets</strong></td>
<td>Intune-managed devices, including Windows 365 Cloud PCs</td>
</tr>
<tr>
<td><strong>Execution engine</strong></td>
<td>Nerdio Endpoint Worker (deployed via Intune platform script)</td>
</tr>
<tr>
<td><strong>Concurrency limit</strong></td>
<td>100 concurrent tasks per sequence</td>
</tr>
<tr>
<td><strong>Task types</strong></td>
<td>PowerShell scripts, Winget installs, and other Intune-deliverable actions</td>
</tr>
</tbody>
</table></figure>



<p>Sequences respect the defined order of operations: Task 2 will not start until Task 1 completes successfully. Tasks can be grouped into <strong>Task Groups</strong> for logical organization. You can <strong>clone</strong> sequences, groups, and individual tasks for faster iteration.</p>



<h2 class="wp-block-heading">Prerequisites</h2>



<p>Before building your first sequence, make sure you have:</p>



<figure class="wp-block-table"><table>
<thead>
<tr>
<th>Requirement</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Intune integration</strong></td>
<td>Enabled in NME under <strong>Settings &gt; Environment &gt; Integrations &gt; Intune</strong></td>
</tr>
<tr>
<td><strong>Target device</strong></td>
<td>A Windows 365 Cloud PC or Intune-managed Windows device</td>
</tr>
<tr>
<td><strong>Nerdio Endpoint Worker</strong></td>
<td>Deployed to the target device (covered in Step 1)</td>
</tr>
<tr>
<td><strong>Permissions</strong></td>
<td>NME admin role with access to the Automation module</td>
</tr>
</tbody>
</table></figure>



<h2 class="wp-block-heading">The Demo Scenario</h2>



<p>We will automate day-one setup for a developer joining the team. The sequence installs prerequisites first, then tools, then runs a configuration script, in that exact order.</p>



<figure class="wp-block-table"><table>
<thead>
<tr>
<th>Order</th>
<th>Task</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Set PowerShell Execution Policy</td>
<td>Allow scripts to run (RemoteSigned)</td>
</tr>
<tr>
<td>2</td>
<td>Install Git</td>
<td>Version control tooling</td>
</tr>
<tr>
<td>3</td>
<td>Install Visual Studio Code</td>
<td>Code editor</td>
</tr>
<tr>
<td>4</td>
<td>Clone repos and configure VS Code</td>
<td>Pull team repos and install extensions</td>
</tr>
<tr>
<td>5a</td>
<td>Add registry key</td>
<td>Create the completion marker key</td>
</tr>
<tr>
<td>5b</td>
<td>Set registry value</td>
<td>Confirm the sequence finished</td>
</tr>
</tbody>
</table></figure>



<p>Let&#8217;s build it.</p>



<h2 class="wp-block-heading">Step 1: Enable the Intune Integration</h2>



<p>Before you can use Scripted Sequences, the Intune integration must be enabled. This is where NME connects to your Intune tenant.</p>



<ol class="wp-block-list">

<li>Navigate to <strong>NME</strong> &gt; <strong>Settings</strong> &gt; <strong>Environment</strong> &gt; <strong>Integrations</strong> &gt; <strong>Intune</strong>.</li>


<li>Ensure the Intune integration is enabled.</li>

</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Note:</strong> The initial Endpoint Worker deployment is controlled by Intune platform script delivery and may take some time. Subsequent tasks to the same device execute within a 15 to 30 minute window.</p>
</blockquote>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b779c&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b779c" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Nerdio Endpoint Worker deployment status in the NME console." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-01.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Step 2: Configure Task Automation</h2>



<p>Task Automation must be configured before you can create or run Scripted Sequences.</p>



<ol class="wp-block-list">

<li>Navigate to <strong>NME</strong> &gt; <strong>Settings</strong> &gt; <strong>Nerdio Environment</strong> &gt; <strong>Task Automation</strong>.</li>


<li>Click <strong>Configure</strong>.</li>


<li>Enter a name and select a resource group for the Azure storage account that Nerdio Manager will create.</li>


<li>Click <strong>Save</strong> to complete the configuration.</li>

</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Warning:</strong> If your NME deployment uses the <strong>Enable Private Endpoints</strong> scripted action, the storage account created here may have public network access disabled by default. The Nerdio Endpoint Worker on target devices needs to reach this storage account, so verify that public access is enabled or that a private endpoint is configured for it.</p>
</blockquote>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b7a44&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b7a44" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Configuring Task Automation in the NME console." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-02.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Step 3: Create the Scripted Sequence</h2>



<ol class="wp-block-list">

<li>Navigate to <strong>NME</strong> &gt; <strong>Automation</strong> &gt; <strong>Scripted Sequences</strong>.</li>


<li>Click <strong>New Scripted Sequence</strong>.</li>


<li>Name the sequence <code>Developer Onboarding - Day One</code>.</li>


<li>Optionally add a description: <em>Installs developer tools and configures the workstation on first login.</em></li>

</ol>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b7c20&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b7c20" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Creating a new Scripted Sequence in the NME console." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-03.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Step 4: Add a Task Group</h2>



<p>Task Groups let you organize related tasks. We will create one group for this sequence.</p>



<ol class="wp-block-list">

<li>Inside the sequence, click <strong>Add task or Add group</strong>.</li>


<li>Select <strong>Add group</strong>.</li>


<li>Name the group <code>Developer Tooling</code>.</li>

</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Note:</strong> A group must contain at least one task.</p>
</blockquote>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b7e70&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b7e70" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Adding a Task Group to the sequence." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-04.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Step 5: Define the Tasks</h2>



<p>Add the following six tasks inside the <strong>Developer Tooling</strong> group. The order you add them is the order they will execute.</p>



<h3 class="wp-block-heading">Task 1: Set PowerShell Execution Policy</h3>



<p>This ensures all subsequent PowerShell-based tasks can run.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Set Execution Policy</code></li>


<li><strong>Type:</strong> PowerShell script</li>


<li><strong>Script:</strong></li>

</ul>



<pre class="wp-block-code"><code>Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine -Force
</code></pre>



<h3 class="wp-block-heading">Task 2: Install Git</h3>



<p>This task uses a PowerShell script to install Git via winget. You could also use the <strong>Install Application</strong> task type instead.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Install Git</code></li>


<li><strong>Type:</strong> PowerShell script</li>


<li><strong>Script:</strong></li>

</ul>



<pre class="wp-block-code"><code>winget install --id Git.Git --accept-source-agreements --accept-package-agreements --silent
</code></pre>



<h3 class="wp-block-heading">Task 3: Install Visual Studio Code</h3>



<p>This task uses the <strong>Install Application</strong> task type, which lets you select a winget package directly without writing a script. You could also use a PowerShell script as shown in Task 2.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Install Visual Studio Code</code></li>


<li><strong>Type:</strong> Install Application</li>


<li><strong>Winget package ID:</strong> <code>Microsoft.VisualStudioCode</code></li>

</ul>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b8242&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b8242" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Using the Install Application task type to install VS Code." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-05.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h3 class="wp-block-heading">Task 4: Clone Repos and Configure VS Code</h3>



<p>This script clones the team repository and installs essential VS Code extensions. Adjust the repository URL and extension list to match your environment.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Configure Workstation</code></li>


<li><strong>Type:</strong> PowerShell script</li>


<li><strong>Script:</strong></li>

</ul>



<pre class="wp-block-code"><code># Refresh PATH so git and code are available
$env:Path = [System.Environment]::GetEnvironmentVariable(&quot;Path&quot;, &quot;Machine&quot;) + &quot;;&quot; + [System.Environment]::GetEnvironmentVariable(&quot;Path&quot;, &quot;User&quot;)

# Clone team repository
$repoPath = &quot;$env:USERPROFILE\Source\Repos&quot;
New-Item -ItemType Directory -Path $repoPath -Force | Out-Null
git clone https://dev.azure.com/contoso/project/_git/main-repo &quot;$repoPath\main-repo&quot;

# Install VS Code extensions
code --install-extension ms-vscode.powershell
code --install-extension ms-python.python
code --install-extension hashicorp.terraform
</code></pre>



<h3 class="wp-block-heading">Task 5a: Add Registry Key</h3>



<p>First, create the registry key that will hold the completion marker.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Log Completion</code></li>


<li><strong>Action:</strong> Add Registry Key</li>


<li><strong>Key path:</strong> <code>HKLM\SOFTWARE\LeafIT\NerdioSequences</code></li>

</ul>



<h3 class="wp-block-heading">Task 5b: Set Registry Value</h3>



<p>Next, set a value under the key to confirm the sequence completed. This makes it easy to query device status remotely via Intune or PowerShell.</p>



<ul class="wp-block-list">

<li><strong>Task name:</strong> <code>Log Completion clone</code></li>


<li><strong>Action:</strong> Set Registry Value</li>


<li><strong>Key path:</strong> <code>HKLM\SOFTWARE\LeafIT\NerdioSequences</code></li>


<li><strong>Name:</strong> <code>DeveloperOnboarding</code></li>


<li><strong>Value type:</strong> String</li>


<li><strong>Value:</strong> <code>Completed</code></li>

</ul>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b85e7&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b85e7" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Setting a registry value to log sequence completion." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-06.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<h2 class="wp-block-heading">Step 6: Clone Tasks for Quick Iteration</h2>



<p>Need a second sequence for designers with different tools? Since NME v7.6.0, you can <strong>clone</strong> the entire sequence or individual task groups and tasks.</p>



<ol class="wp-block-list">

<li>On the <strong>Scripted Sequences</strong> page, select the <code>Developer Onboarding - Day One</code> sequence.</li>


<li>Click <strong>Clone</strong>.</li>


<li>Rename the cloned sequence and swap Git/VS Code for the tools your designers need.</li>

</ol>



<p>This saves significant time compared to rebuilding sequences from scratch.</p>



<h2 class="wp-block-heading">Step 7: Target Devices and Execute</h2>



<ol class="wp-block-list">

<li>On the <strong>Scripted Sequences</strong> page, click the three dots to the right of the <code>Developer Onboarding - Day One</code> sequence.</li>


<li>Click <strong>Run now</strong>.</li>


<li>Select the target Windows 365 Cloud PC or Intune device.</li>

</ol>



<p>NME will push the tasks to the Nerdio Endpoint Worker on the device. Each task runs in order. Task 2 only starts after Task 1 reports success.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69e99df2b88ba&quot;}" data-wp-interactive="core/image" data-wp-key="69e99df2b88ba" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" alt="Targeting a Windows 365 Cloud PC for sequence execution." src="https://raw.githubusercontent.com/jensdufour/blog/main/media/automating-new-device-setup-with-nerdio-scripted-sequences/automating-new-device-setup-with-nerdio-scripted-sequences-07.webp"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Tip:</strong> Monitor progress in <strong>NME</strong> &gt; <strong>Logs</strong>.</p>
</blockquote>



<h2 class="wp-block-heading">Step 8: Validate on the Device</h2>



<p>Log into the target Cloud PC and verify:</p>



<ol class="wp-block-list">

<li><strong>Git</strong> is installed. Open a terminal and run <code>git --version</code>.</li>


<li><strong>VS Code</strong> is installed. Launch it from the Start menu.</li>


<li><strong>Repos</strong> are cloned. Check <code>%USERPROFILE%\Source\Repos\main-repo</code>.</li>


<li><strong>Extensions</strong> are present. Open VS Code and navigate to the Extensions panel.</li>


<li><strong>Registry key</strong> exists. Open a terminal and run <code>reg query "HKLM\SOFTWARE\LeafIT\NerdioSequences" /v DeveloperOnboarding</code>.</li>

</ol>



<h2 class="wp-block-heading">Current Limitations</h2>



<p>Scripted Sequences are still in Public Preview. Keep these constraints in mind:</p>



<figure class="wp-block-table"><table>
<thead>
<tr>
<th>Limitation</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Concurrency</strong></td>
<td>Maximum 100 concurrent tasks per sequence</td>
</tr>
<tr>
<td><strong>Device scope</strong></td>
<td>Intune-managed devices only (AVD support planned for a future release)</td>
</tr>
<tr>
<td><strong>Targeting</strong></td>
<td>Manual device selection required; automated assignment to new devices is planned</td>
</tr>
<tr>
<td><strong>Initial deployment</strong></td>
<td>The Endpoint Worker relies on Intune platform script delivery, which can take time on first deploy</td>
</tr>
<tr>
<td><strong>Cross-tenant</strong></td>
<td>Running sequences against secondary tenant Windows 365 devices is not yet supported</td>
</tr>
</tbody>
</table></figure>



<h2 class="wp-block-heading">Conclusion</h2>



<p><strong>Nerdio Scripted Sequences</strong> bring deterministic, ordered task execution to Intune-managed devices. This is something native Intune cannot guarantee today. By combining simple PowerShell scripts in a defined sequence, you can automate complex onboarding workflows and ensure every new device is configured consistently.</p>



<p>As the feature moves toward general availability, expect expanded scope and deeper integration within NME. For now, it is already a practical tool for any organization managing Intune endpoints at scale.</p>
<p>The post <a href="https://jensdufour.be/2026/04/01/automating-new-device-setup-with-nerdio-scripted-sequences/">Automating New Device Setup with Nerdio Scripted Sequences</a> appeared first on <a href="https://jensdufour.be">Jens Du Four</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jensdufour.be/2026/04/01/automating-new-device-setup-with-nerdio-scripted-sequences/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Minified using Disk

Served from: jensdufour.be @ 2026-04-23 05:20:02 by W3 Total Cache
-->