<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Automation — The Advania Community</title>
        <link>https://community.advania.co.uk/</link>
        <pubDate>Sat, 04 Apr 2026 18:36:32 +0000</pubDate>
        <language>en</language>
            <description>Automation — The Advania Community</description>
    <atom:link href="https://community.advania.co.uk/discussions/tagged/automation/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Metsec | Engineering excellence through strategic IT partnership</title>
        <link>https://community.advania.co.uk/discussion/633/metsec-engineering-excellence-through-strategic-it-partnership</link>
        <pubDate>Thu, 12 Mar 2026 11:23:31 +0000</pubDate>
        <category>Customer success stories</category>
        <dc:creator>Lorena Seco de Herrera Ortega</dc:creator>
        <guid isPermaLink="false">633@/discussions</guid>
        <description><![CDATA[<p>Metsec partnered with Advania to modernise its warehouse infrastructure with a technology platform capable of supporting its high-precision manufacturing operations.</p><h3 data-id="at-a-glance">🔎At a glance</h3><ul><li>Global manufacturing company</li><li>Processes around 20 orders per month</li><li>Complex logistics and inventory management requirements</li></ul><h3 data-id="the-challenge">🚨The challenge</h3><p>Metsec needed a warehousing system capable of supporting its operational scale and improving efficiency across procurement and logistics.<br /><br />
The project required integrating multiple technologies into a unified platform.</p><h3 data-id="the-approach">💡The approach</h3><p>Advania delivered a comprehensive multi-vendor solution including:</p><ul><li>Motorola barcode scanners</li><li>Zebra label printing technology</li><li>Integrated warehouse management infrastructure</li><li>Full procurement and technology deployment management</li></ul><h3 data-id="the-outcome">☑️The outcome</h3><ul><li>Improved operational control and efficiency</li><li>Enhanced warehouse visibility and accuracy</li><li>Modern infrastructure supporting manufacturing operations</li><li>Stronger logistics performance across the organisation</li></ul><h3 data-id="why-this-matters">⚡️Why this matters</h3><p>Manufacturing organisations depend on efficient warehouse operations to maintain supply chain reliability and operational precision.</p><h3 data-id="read-the-full-case-study">👉 Read the full case study</h3><div data-embedjson="{&quot;body&quot;:&quot;Advania partnered with Metsec to modernise its warehousing infrastructure, supporting improved efficiency and operational excellence.&quot;,&quot;photoUrl&quot;:&quot;https:\/\/www.advania.co.uk\/wp-content\/uploads\/2025\/07\/Case-study-MetSec-1.jpg&quot;,&quot;url&quot;:&quot;https:\/\/community.advania.co.uk\/home\/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.advania.co.uk%2Fcase-studies%2Fmetsec%2F%3Futm_source%3DCommunity&quot;,&quot;embedType&quot;:&quot;link&quot;,&quot;name&quot;:&quot;Metsec - Advania UK&quot;,&quot;faviconUrl&quot;:&quot;https:\/\/www.advania.co.uk\/wp-content\/uploads\/2023\/11\/cropped-AdvaniaUK-favicon-new-32x32.png&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;}">
    <a href="https://community.advania.co.uk/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.advania.co.uk%2Fcase-studies%2Fmetsec%2F%3Futm_source%3DCommunity" rel="nofollow noopener ugc">
        https://www.advania.co.uk/case-studies/metsec/?utm_source=Community
    </a>
</div>]]>
        </description>
    </item>
    <item>
        <title>Moving from MDT/WDS to Autopilot – Real-World Lessons, Wins &amp; Gotchas</title>
        <link>https://community.advania.co.uk/discussion/402/moving-from-mdt-wds-to-autopilot-real-world-lessons-wins-gotchas</link>
        <pubDate>Tue, 02 Dec 2025 10:08:04 +0000</pubDate>
        <category>Modern Endpoint Solutions</category>
        <dc:creator>timjeens</dc:creator>
        <guid isPermaLink="false">402@/discussions</guid>
        <description><![CDATA[<p></p><p>Hi all,</p><p><br />
We’ve been moving away from an ageing WDS + MDT setup and over to <strong>Windows Autopilot</strong>, and I thought I’d share a few key lessons and experiences from the journey. In case anyone else is working through the same transition (...or about to).</p><p><br /><strong>Why the change</strong>? MDT was becoming unreliable, drivers/apps would randomly fail to install, WDS is on the way out, and we needed a more remote-friendly approach. We also wanted to simplify things for our small IT team and shift from <strong>Hybrid Azure AD Join</strong> to <strong>Azure AD Join only</strong>.</p><p><br />
We’re doing this as a phased rollout. I harvested existing device hashes using a script from a central server, and manually added machines that weren’t online at the time (most of which were just unused spares, we haven't introduced new hardware yet).</p><p><br />
If you want a copy of this auto-harvest, please see my next post, this script is useful as it'll just go off and import the hardware hashes into Intune, and can run against multiple computers at a time. (I will add the link to the post once made).</p><p><br /><strong>Some of the biggest hurdles:</strong><br />
•    0x80070002 / 0x80070643 errors (typically due to incomplete registration or app deployment failures)<br />
•    Enrollment Status Page (ESP) hangs due to app targeting issues (user vs device) and BitLocker config conflicts<br />
•    Wi-Fi setup with RADIUS (NPS) was complex, Enterprise Certificates and we're still using internal AD for authentication, so user accounts exist there and sync over to Azure.<br />
•    Legacy GPOs had to be rebuilt manually in Intune, lots of trial and error<br />
•    Some software (like SolidWorks) wouldn’t install silently via Intune, so I used NinjaOne to handle these, along with remediation scripts in Intune where needed</p><p><br />
We also moved from WSUS to <strong>Windows Autopatch</strong>, which improved update reliability and even helped with driver delivery via Windows Update.</p><p><br /><strong>What’s gone well:</strong> Device provisioning is more consistent, updates are more reliable, build time per machine has dropped, and remote users get systems faster. It’s also reduced our reliance on legacy infrastructure.</p><p><br /><strong>What I’m still working on: </strong>Tightening up compliance and reporting, improving detection/remediation coverage, figuring out new errors that may occur, and automating as much manual processes as possible.</p><p><br /><strong>Ask me anything or share your own experience!</strong> I’m happy to help anyone dealing with similar issues or just curious about the move. Feel free to reply here or message me. Always happy to trade lessons learned, especially if you’re in the middle of an Autopilot project yourself.</p><p><br />
Cheers,<br />
Timothy Jeens</p>]]>
        </description>
    </item>
    <item>
        <title>Automated import of Hardware Hashes into Intune</title>
        <link>https://community.advania.co.uk/discussion/403/automated-import-of-hardware-hashes-into-intune</link>
        <pubDate>Tue, 02 Dec 2025 10:09:33 +0000</pubDate>
        <category>Modern Endpoint Solutions</category>
        <dc:creator>timjeens</dc:creator>
        <guid isPermaLink="false">403@/discussions</guid>
        <description><![CDATA[<p>Hi everyone,</p><p>So, here is the script I used to pre-seed the hardware hashes into my Intune environment.</p><p>Please check it over before just running it..</p><p>You'll need to create a csv called: computernamelist.csv</p><p>In this file, you'll need a list of all your computer names like this:</p><p>"ComputerName"<br />
"SID-1234"<br />
"SID-4345"</p><p>You can use a the Get-ADComputer command to gather all your computers and output to a CSV.</p><p>Features:</p><ul><li>It will run through 10 computers at a time.</li><li>It will remove computers that it has confirmed as being updated in Intune.</li><li>Pings a computer first to speed it up.</li><li>Only for devices on your network or on the VPN.</li></ul><p>You can schedule it to run, or I just re-ran it a bunch of times over a few weeks.</p><p> </p><pre spellcheck="false" tabindex="0"># Path to the CSV file<br />&#13;
$csvPath = "C:\scripts\computernamelist.csv"<br /><br />&#13;
# Import the CSV file<br />&#13;
$computers = Import-Csv -Path $csvPath<br /><br />&#13;
# Number of concurrent jobs (adjust as needed)<br />&#13;
$maxConcurrentJobs = 10<br /><br />&#13;
# Array to store the job references<br />&#13;
$jobs = @()<br /><br />&#13;
# Ensure the required settings and script are set up<br />&#13;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />&#13;
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force<br />&#13;
Install-Script -Name Get-WindowsAutopilotInfo -Force<br /><br />&#13;
# Authenticate with Microsoft Graph (Office 365 / Azure AD)<br />&#13;
Connect-MGGraph<br /><br />&#13;
# Function to remove a computer from the CSV after successful import<br />&#13;
function Remove-ComputerFromCSV {<br />&#13;
    param (<br />&#13;
        [string]$computerName,<br />&#13;
        [string]$csvPath<br />&#13;
    )<br />&#13;
    $computers = Import-Csv -Path $csvPath<br />&#13;
    $computers = $computers | Where-Object { $_.ComputerName -ne $computerName }<br />&#13;
    $computers | Export-Csv -Path $csvPath -NoTypeInformation<br />&#13;
    Write-Host "Removed $computerName from CSV."<br />&#13;
}<br /><br />&#13;
# Loop through each computer in the CSV<br />&#13;
foreach ($computer in $computers) {<br />&#13;
    $computerName = $computer.ComputerName<br /><br />&#13;
    # Start a new background job for each computer<br />&#13;
    $job = Start-Job -ScriptBlock {<br />&#13;
        param($computerName, $csvPath)<br /><br />&#13;
        # Check if the computer is reachable (ping check)<br />&#13;
        if (Test-Connection -ComputerName $computerName -Count 1 -Quiet) {<br />&#13;
            Write-Host "$computerName is online. Retrieving Autopilot info..."<br /><br />&#13;
            # Ensure TLS 1.2 is used and execution policy is set for the job<br />&#13;
            [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />&#13;
            Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force<br /><br />&#13;
            # Run the Autopilot info command and capture the output<br />&#13;
            $output = Get-WindowsAutopilotInfo -Online -Name $computerName<br /><br />&#13;
            # Check if the output contains the success or error messages<br />&#13;
            if ($output -like "*devices imported successfully*") {<br />&#13;
                Write-Host "Success: $computerName - Autopilot info imported successfully."<br /><br />&#13;
                # Remove the computer from the CSV after successful import<br />&#13;
                Remove-ComputerFromCSV -computerName $computerName -csvPath $csvPath<br />&#13;
            } elseif ($output -like "*error 806 ZtdDeviceAlreadyAssigned*") {<br />&#13;
                Write-Host "Error: $computerName - Device already assigned."<br />&#13;
            } else {<br />&#13;
                Write-Host "Error: $computerName - Unknown issue during import."<br />&#13;
            }<br />&#13;
        } else {<br />&#13;
            Write-Host "$computerName is offline. Skipping."<br />&#13;
        }<br />&#13;
    } -ArgumentList $computerName, $csvPath<br /><br />&#13;
    # Add the job to the list<br />&#13;
    $jobs += $job<br /><br />&#13;
    # Monitor job status<br />&#13;
    Write-Host "Started job for $computerName with Job ID $($job.Id)."<br /><br />&#13;
    # If the number of jobs reaches the limit, wait for them to complete<br />&#13;
    if ($jobs.Count -ge $maxConcurrentJobs) {<br />&#13;
        # Wait for all current jobs to complete before starting new ones<br />&#13;
        $jobs | ForEach-Object {<br />&#13;
            Write-Host "Waiting for Job ID $($_.Id) ($($_.State)) to complete..."<br />&#13;
            $_ | Wait-Job<br />&#13;
            Write-Host "Job ID $($_.Id) has completed."<br />&#13;
        }<br /><br />&#13;
        # Check job output and clean up completed jobs<br />&#13;
        $jobs | ForEach-Object {<br />&#13;
            if ($_.State -eq 'Completed') {<br />&#13;
                $output = Receive-Job -Job $_<br />&#13;
                Write-Host "Output for Job ID $($_.Id): $output"<br />&#13;
                Remove-Job $_<br />&#13;
            } elseif ($_.State -eq 'Failed') {<br />&#13;
                Write-Host "Job ID $($_.Id) failed."<br />&#13;
            }<br />&#13;
        }<br /><br />&#13;
        # Reset the jobs array<br />&#13;
        $jobs = @()<br />&#13;
    }<br />&#13;
}<br /><br />&#13;
# Wait for any remaining jobs to complete<br />&#13;
$jobs | ForEach-Object {<br />&#13;
    Write-Host "Waiting for Job ID $($_.Id) ($($_.State)) to complete..."<br />&#13;
    $_ | Wait-Job<br />&#13;
    Write-Host "Job ID $($_.Id) has completed."<br />&#13;
}<br /><br />&#13;
# Check job output for remaining jobs<br />&#13;
$jobs | ForEach-Object {<br />&#13;
    if ($_.State -eq 'Completed') {<br />&#13;
        $output = Receive-Job -Job $_<br />&#13;
        Write-Host "Output for Job ID $($_.Id): $output"<br />&#13;
        Remove-Job $_<br />&#13;
    } elseif ($_.State -eq 'Failed') {<br />&#13;
        Write-Host "Job ID $($_.Id) failed."<br />&#13;
    }<br />&#13;
}
</pre><p></p><p>This is all derived from: https://learn.microsoft.com/en-us/autopilot/add-devices</p><p>"Get-WindowsAutopilotInfo" is from this link.</p><p>Hope this helps someone.</p><p>Thanks,</p><p>Timothy Jeens</p>]]>
        </description>
    </item>
    <item>
        <title>Get Teams Talking in 5 Minutes</title>
        <link>https://community.advania.co.uk/discussion/312/get-teams-talking-in-5-minutes</link>
        <pubDate>Wed, 29 Oct 2025 13:57:29 +0000</pubDate>
        <category>Unified Comms</category>
        <dc:creator>Rebecca Jenkins</dc:creator>
        <guid isPermaLink="false">312@/discussions</guid>
        <description><![CDATA[<p>Why wait days to get set up when you can be live in minutes? </p><p>With our simple self-service portal, you can deploy Microsoft Teams with full PSTN voice capabilities in just <strong>one click</strong>, no<strong> IT team </strong>required. </p><p>It’s fast, hassle-free, and ready when you are. Say hello to instant productivity and goodbye to setup stress.</p><p>Don't believe me, see for yourself…</p><div data-embedjson="{&quot;height&quot;:113,&quot;width&quot;:200,&quot;photoUrl&quot;:&quot;https:\/\/i.ytimg.com\/vi\/T7K7OnDsXg8\/hqdefault.jpg&quot;,&quot;videoID&quot;:&quot;T7K7OnDsXg8&quot;,&quot;showRelated&quot;:false,&quot;start&quot;:0,&quot;url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=T7K7OnDsXg8&quot;,&quot;embedType&quot;:&quot;youtube&quot;,&quot;name&quot;:&quot;New GP  SDA Process&quot;,&quot;embedStyle&quot;:&quot;rich_embed_card&quot;,&quot;frameSrc&quot;:&quot;https:\/\/www.youtube.com\/embed\/T7K7OnDsXg8?feature=oembed&amp;autoplay=1&quot;}">
    <a href="https://community.advania.co.uk/home/leaving?allowTrusted=1&amp;target=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DT7K7OnDsXg8" rel="nofollow noopener ugc">
        https://www.youtube.com/watch?v=T7K7OnDsXg8
    </a>
</div><p>Speak to one of our sales experts and see how we can help your organization go from purchase to productivity in minutes.</p>]]>
        </description>
    </item>
   </channel>
</rss>
