Enterprise Solutions Provider

IT Support Specialist & Systems Administrator

2015 – 2018

The Challenge

An enterprise solution provider required robust management and systematic maintenance of its core infrastructure services. System failures, misconfigured Active Directory GPOs, and untracked manual file backups threatened the integrity of organizational databases and client data. The goal was to secure corporate directories, establish automated backup pathways, and formalize rapid incident triage procedures to guarantee business continuity.

The Solution

Administered physical and virtual Windows Server fleets, designing centralized Active Directory policies (GPOs) to enforce security standards. Implemented a robust **Veeam Backup & Replication** suite, routing volume snapshots to local NAS storage and offsite DR locations. Developed automated **PowerShell** monitoring scripts to audit backup logs daily and send automated alerts to IT support portals. Formulated systematic disaster recovery drills and network routing fallbacks to guarantee uptime.

Key Business Outcomes

  • 99.9% Core Availability: Kept critical active directory domain controllers and file systems online, meeting strict SLAs of 99.9% uptime.
  • Automated Backup Auditing: Slashed manual inspection times from hours to 0 via PowerShell event log auditing and SMTP notification systems.
  • Hardened Active Directory: Cleaned and structured legacy organizational units (OUs), applying rigid security frameworks across 500+ client workstations.
  • Rapid Disaster Recovery: Designed RPO/RTO metrics and automated backup recovery protocols, successfully reducing server recovery times during incidents by 50%.

Core Technologies

Operating Systems & Directory

Windows Server (2012 R2/2016), Active Directory Domain Services, Group Policy Objects (GPO), DNS, DHCP

Backup & Disaster Recovery

Veeam Backup & Replication, Windows Server Backup (WSB), Volume Shadow Copy Service (VSS)

Storage & Networks

Network Attached Storage (NAS), SAN Storage, RAID Configurations, LAN/WAN Routing, Firewalls

Scripting & Monitoring

PowerShell 5.1, Task Scheduler, Event Viewer, SMTP Mailer Protocols

Veeam Enterprise Backup & Offsite Replication Topology

The diagram below illustrates the backup lifecycle: system snapshots are pulled via Veeam agents to a local NAS storage node on a daily schedule. These local backups are replicated to an offsite DR facility weekly via WAN replication, and cold-archived to the cloud for historical preservation.

graph TD
  subgraph ProductionOffice ["Primary Office Site"]
    DC1["Active Directory Domain Controller"]
    FS1["File & Data Server"]
    Syslog["Syslog Server / Alert Portals"]
    
    DC1 --> Syslog
    FS1 --> Syslog
  end

  subgraph BackupCenter ["Veeam Backup Infrastructure"]
    Veeam["Veeam Backup & Replication Suite"]
    NasLocal["Local NAS Node (Daily Backups)"]
    
    FS1 -->|VSS Snapshot Sync| Veeam
    DC1 -->|System State Backup| Veeam
    Veeam -->|Writes Daily Archives| NasLocal
  end

  subgraph OffsiteDR ["Offsite Recovery Location"]
    NasOffsite["Offsite NAS Storage (Weekly Replica)"]
    Glacier["Cloud Archival Storage (Cold Backup)"]
    
    NasLocal -->|WAN Replication Sync| NasOffsite
    NasLocal -->|Glacier Copy Job| Glacier
  end
            

PowerShell Script: Auditing Windows Server Backup Event Logs

The script below checks the Windows Server Backup logs (Event ID 4 in event channel Microsoft-Windows-Backup) and automatically sends an email alert if a backup fails or warning codes are registered.

audit_windows_backup.ps1
# Configure variables
$LogName = "Microsoft-Windows-Backup/Operational"
$EventID = 4 # Event ID for backup completion
$MailSender = "[email protected]"
$MailRecipient = "[email protected]"
$SMTPServer = "smtp.enterprise.internal"

# Retrieve last event within 24 hours
$LastBackupEvent = Get-WinEvent -FilterHashtable @{LogName=$LogName; ID=$EventID; StartTime=(Get-Date).AddDays(-1)} -ErrorAction SilentlyContinue

if ($LastBackupEvent) {
    # Check XML event details for success status
    [xml]$EventXml = $LastBackupEvent.ToXml()
    $ResultCode = $EventXml.Event.UserData.BackupTemplate.HResult
    
    if ($ResultCode -ne "0") {
        # Backup completed with errors
        $Body = "WARNING: Backup job completed with issues. Error code: $ResultCode. Please review Event Viewer."
        Send-MailMessage -From $MailSender -To $MailRecipient -Subject "BACKUP WARNING: Server Backup Errors" -Body $Body -SmtpServer $SMTPServer
    }
} else {
    # No backup event found in last 24 hours
    $Body = "CRITICAL: No backup event found in the event logs for the last 24 hours. The backup job might have hung or failed to start."
    Send-MailMessage -From $MailSender -To $MailRecipient -Subject "BACKUP FAILURE: No backup detected" -Body $Body -SmtpServer $SMTPServer
}

Active Directory Security Auditing (PowerShell)

PowerShell cmdlet used to audit inactive users in the domain directory weekly.

audit_inactive_accounts.ps1
Import-Module ActiveDirectory

# Define inactive threshold (e.g., 90 days)
$InactiveDays = 90
$ThresholdDate = (Get-Date).AddDays(-$InactiveDays)

# Retrieve inactive users
$InactiveUsers = Get-ADUser -Filter {LastLogonDate -lt $ThresholdDate -and Enabled -eq $true} -Properties LastLogonDate

# Output list
foreach ($User in $InactiveUsers) {
    [PSCustomObject]@{
        SamAccountName = $User.SamAccountName
        Name           = $User.Name
        LastLogonDate  = $User.LastLogonDate
    }
}