Read more of this story at Slashdot.
Read more of this story at Slashdot.
For details on configuration of the policies refer below documentation links.
https://learn.microsoft.com/en-us/defender-endpoint/manage-security-policies
https://learn.microsoft.com/en-us/intune/intune-service/
https://learn.microsoft.com/en-us/entra/identity/conditional-access/
Register an app
How to register an app in Microsoft Entra ID - Microsoft identity platform | Microsoft Learn
Graph API permissions Reference. For updating Entra ID device properties you need “Device.ReadWrite.all” permission and Intune administrator role to run the script.
Microsoft Graph permissions reference - Microsoft Graph | Microsoft Learn
Important things to note and update the script with your custom values.
a) update the path of the excel file in the script. column header is 'DeviceName'
Note: You may want to use CSV instead of excel file if Excel is not available on the admin workstation running this process.
b) update the credential details - tenantId,clientId & clientSecret in the script. Client id and client secret are created as a part of app registration.
c) update the Externsionattribute and value in the script. This is the value of the extension attribute you want to use in dynamic membership rule creation.
___________________________________________________________________________
#Acquire token
$tenantId = "xxxxxxxxxxxxxxxxxxxxx"
$clientId = "xxxxxxxxxxxxxxxx"
$clientSecret = "xxxxxxxxxxxxxxxxxxxx"
$excelFilePath = "C:\Temp\devices.xlsx" # Update with actual path
$tokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/
$tenantId/oauth2/v2.0/token" -Method POST -Body $tokenBody
$accessToken = $tokenResponse.access_token
# Import Excel module and read device names
Import-Module ImportExcel $deviceList = Import-Excel -Path $excelFilePath
foreach ($device in $deviceList) { $deviceName = $device.DeviceName # Assumes column header is 'DeviceName'
Get device ID by name
$headers = @{ "Authorization" = "Bearer $accessToken"} $deviceLookupUri = "https://graph.microsoft.com/beta/devices?`$filter=displayName eq '$deviceName'"
try { $deviceResponse = Invoke-RestMethod -Uri $deviceLookupUri -Headers $headers -Method
GET
} catch { Write-Host "Error querying device: $deviceName - $_" continue
}
if ($null -eq $deviceResponse.value -or $deviceResponse.value.Count -eq 0) {
Write-Host "Device not found: $deviceName"
continue
}
$deviceId = $deviceResponse.value[0].id
# Prepare PATCH request
$uri = "https://graph.microsoft.com/beta/devices/$deviceId"
$headers["Content-Type"] = "application/json"
$body = @{ extensionAttributes = @{ extensionAttribute6 = "MDE" } } | ConvertTo-Json -Depth 3
try {
$response = Invoke-RestMethod -Uri $uri -Method Patch -Headers $headers -Body $body
Write-Host "Updated device: $deviceName"} catch {
Write-Host "Failed to update device: $deviceName - $_"
}
}
Write-Host "Script execution completed."
________________________________________________________________________________________________________________________
Here’s a simple summary of what the script does:
Once extension attributes are set, you can create a dynamic security group in Entra ID:
(device.extensionAttributes.extensionAttribute6 -eq "MDE") |
4. Save the group. Devices with extensionAttribute6 = MDE will automatically join.
Disclaimer
Imagine if a pro athlete spent all year competing in games with almost no practice.
Sounds absurd, right?
Yet that’s exactly how many of us operate in our engineering careers.
We jump from project to project, meeting to meeting, performing constantly and rarely training or reflecting on our craft as leaders.
This imbalance between practice and performance is holding back our growth. It’s time to change that.
Always Performing, Never Training?
The first step is recognizing the imbalance.
Many engineers and new managers simply don’t prioritize practice — and it shows. We assume technical excellence will magically translate into leadership excellence. But leading people is a completely different ballgame.
Just like a great athlete can’t rely on raw talent alone, a great engineering leader can’t rely only on coding skills or working harder.
Don’t wait for your company to schedule that one-off training day. Proactively carve out regular time for practice and learning. Block an hour each week for leadership development — and treat it like your most important meeting of the week.
These small training investments compound into real leadership growth.
Elite athletes don’t just show up and hope to get better — they follow a training plan.
You can do the same.
Instead of learning only through trial by fire, create low-stakes ways to practice your leadership skills. Break it down. Focus on one thing at a time.
Maybe you role-play a tough conversation. Maybe you lead a small initiative outside your comfort zone. The key is deliberate effort — not just doing the job, but actively training how you do it.
I tell my clients all the time: don’t mistake experience for growth. Improvement comes from practice, reflection, and intentional reps.
Pick one leadership skill to improve each quarter — then go work that muscle.
No world-class athlete trains alone. They have coaches. They review game film. They constantly refine.
Most engineers? They’re flying solo.
If you want to grow, feedback and coaching are your secret weapons.
Start asking for feedback more often — from peers, reports, managers. It might feel awkward at first, but this is the stuff that accelerates your growth.
And if you’re serious about leveling up — find a mentor or coach. Someone who can push your thinking, help you see your blind spots, and guide your development. The best performers in every field have someone in their corner. Why not you?
This one gets overlooked constantly — but it’s critical.
Athletes don’t train nonstop. They recover. They rest. They plan to be at their best when it counts.
You can’t perform at your highest level if you’re running on empty. But most engineers are doing just that — grinding nonstop, always on, and never pausing to reset.
Recovery is part of the job. So is reflection.
Don’t just move from sprint to sprint without taking time to look back. Make space to ask: What did I learn? What worked? What would I do differently next time?
Reflection turns experience into insight. Recovery turns hustle into sustainability. You need both.
Great athletes never stop learning. They’re always refining, evolving, trying new techniques.
Same goes for great engineering leaders.
Stay curious. Stay coachable. Keep a learning list and chip away at it — one book, one podcast, one conversation at a time.
And don’t be afraid to look outside your lane. Some of the best leadership lessons I’ve learned came from outside the world of engineering.
Growth isn’t a one-time event. It’s a mindset. And it’s one of the clearest markers of high-performance leaders.
You wouldn’t expect an athlete to become a champion without practice.
So don’t expect to become a top-tier engineering leader without training your skills — deliberately, consistently, and with purpose.
If you want to lead with confidence, influence without a title, and make the leap to senior roles — it starts by getting serious about your own development.
Pick one thing this week to start training.
Then build a rhythm around it.
Because when you train like an athlete, you lead like a champion.
If you’re ready to lead with clarity, confidence, and intention… join my weekly email newsletter. Every week, I share practical insights on leadership, career growth, and building the engineering career you actually want.
And when you sign up, you’ll get my free workbook: the Engineering Career Accelerator™️ Scorecard — a simple tool with foundational insights you can check, score, and apply immediately to stand out and excel at work.
Let’s get you back in training mode. Your next level won’t happen by accident.
Let’s go.
The post Train Like an Athlete, Lead Like a Pro: The Career Growth Most Engineers Ignore appeared first on OACO.
This week, VS Code engineer Tyler Leonhardt joins the podcast to give an update on the latest enhancements to MCP authentication for developers and how the VS Code team is leveraging MCP to help developer VS Code with help of the Playwright, GitHub, and other MCP servers. James also got a chance to sit down with Kent C. Dodds at the MCP Dev Days to better understand how MCP is evolving his workflow and how he sees its impact going forward.
Follow VS Code:
Special Guests: Kent C. Dodds and Tyler Leonhardt.
Links: