Remote MSP Systems Engineer — Microsoft 365 & Windows Server (L2/L3)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$2000 USD Per Month

HOURS PER WEEK

40

DATE UPDATED

Jul 10, 2026

JOB OVERVIEW

We're a US-based managed services provider (MSP) supporting small and mid-sized businesses. We're hiring an experienced systems engineer to handle escalated support and project execution remotely — Microsoft 365, Windows Server, identity/security, and automation. You'll work from documented runbooks and our ticketing system, and you'll have senior US staff to escalate genuinely complex design questions to. This is a hands-on execution role for someone who is reliable, self-directed, and communicates clearly in English with clients.

What you'll do
- Administer Microsoft 365 / Exchange Online — mailboxes, distribution lists, quarantine/spam policy, shared mailboxes, licensing
- Manage Entra ID / Conditional Access / MFA / SSPR rollouts following our runbooks (test group ? verify ? deploy)
- Support Windows Server, Active Directory, Group Policy, and RDS — troubleshooting, performance, user management
- Write and maintain PowerShell scripts and RMM automations (custom scripts, monitoring conditions, remediation)
- Execute client onboarding from our documented checklists (EDR, SIEM, patching, backups, security baselines)
- Handle identity security i ---------- at the triage level (review sign-ins, reset credentials/MFA, remove malicious rules) following our playbook
- Configure and troubleshoot networking — site-to-site VPN tunnels, firewalls, UniFi
- Document your work thoroughly and keep client documentation current

Required
- 4+ years in MSP or IT support (L2/L3)
- Strong Microsoft 365 / Exchange Online administration
- Solid Windows Server — AD, GPO, DNS/DHCP, RDS
- PowerShell scripting — you write and modify scripts, not just run them
- Networking fundamentals — VPN, firewall rules, VLANs, DNS
- Excellent written and spoken English — you'll communicate directly with US clients
- Reliable internet, a quiet work environment, and the discipline to work independently from documentation

Nice to have
- Experience with NinjaOne (RMM), ConnectWise (PSA), Veeam
- Entra Conditional Access design experience
- Microsoft certifications (MS-102, AZ-104, or similar)

How we work
You'll connect through a company-provided secure environment to access our systems — we'll set you up and train you on our tools and runbooks. We value people who flag what they don't know and ask before guessing.

To apply
Start your message with the word "BACKUP" so we know you read this far. Then tell us: (1) your years of MSP experience, (2) a short example of a PowerShell script or automation you built and what problem it solved, and (3) your available hours in US Eastern time. Applications without the code word won't be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0394
Total Execution Time  0.0408
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,520 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Remote-MSP-Systems-Engineer-Microsoft-365-Windows-Server-L2L3-1677727
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0317 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1677727
 LIMIT 1 
0.0025   SELECT *
FROM `employers`
WHERE `employer_id` = 284274
 LIMIT 1 
0.0026   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1677727
AND `misc`.`idIS NULL 
0.0010   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-14',ej.date_added) duration_daysDATEDIFF('2026-07-14',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-14',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1677727' 
0.0012   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1677727 
0.0012   UPDATE employer_jobs SET hit_counts '***Jun-27-2026=343***Jun-28-2026=118***Jun-29-2026=162***Jun-30-2026=87***Jul-01-2026=47***Jul-02-2026=17***Jul-03-2026=13***Jul-04-2026=8***Jul-05-2026=12***Jul-06-2026=16***Jul-07-2026=7***Jul-08-2026=8***Jul-09-2026=10***Jul-10-2026=204***Jul-11-2026=163***Jul-14-2026=1' WHERE job_id'1677727'  
0.0011   UPDATE employer_jobs SET monthly_hits '***Jun-2026=710***Jul-2026=506' WHERE job_id'1677727'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1677727' AND status LIKE 'sent%' ORDER BY id DESC  
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1677727 
0.0164   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '284274'
AND `date_added` >= '2022-06-08' 
0.0009   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)