Case Study — IT Automation · Banking
Banking PowerShell · Shell Scripting · MSSQL Three-Module Automation

Windows Automation for
Active Directory, MSSQL
& Oracle Healthchecks

A banking client needed three critical IT management processes automated simultaneously — Active Directory stale account cleanup, MSSQL Server real-time monitoring, and Oracle database daily healthchecks. Softenger built and deployed all three as an integrated automation program using PowerShell and Shell scripting.

3 Modules
Automation Programs Built
2 Tools
PowerShell + Shell Scripting
1 Bank
Critical Infrastructure Protected
Engagement at a Glance

Three-Module Automation —
Banking IT Infrastructure

🏦
Client Industry
Banking Critical IT infrastructure — high compliance environment
⚙️
Project
Windows Automation — AD, MSSQL & Oracle Three parallel automation modules
🛠️
Technology
PowerShell · Shell Scripting · MSSQL Server Windows Active Directory · Oracle Databases
🎯
Business Need
Replace Manual Processes with Automation Security, monitoring, and health management — all automated
Module 01 — Active Directory Stale ID Identification
Module 02 — MSSQL Server Monitoring
Module 03 — Oracle Database Healthchecks
🏦
IndustryBanking
⚙️
ModulesActive Directory · MSSQL Monitoring · Oracle Healthchecks
🛠️
TechnologyPowerShell · Shell Scripting · MSSQL Server
🔒
CategoryIT Automation · Process Automation

Three manual processes — each a risk in a banking environment

In banking, manual IT processes aren’t just inefficient — they’re a risk category. Stale Active Directory accounts that haven’t been identified and disabled are access control failures waiting to be exploited. MSSQL Servers without real-time monitoring are reliability blind spots where performance issues become production incidents before anyone notices. Oracle databases without daily automated healthchecks are environments where degradation compounds silently over weeks before it surfaces as a critical failure.

The client had all three of these manual process risks running simultaneously. The engagement was designed to address all three in parallel — not sequentially — because the security, reliability, and database health requirements of a banking IT environment don’t wait for a phased automation roadmap.

Business Need

Automate identification of stale Active Directory IDs. Build comprehensive MSSQL Server monitoring. Implement automated Oracle daily healthchecks. Replace manual, time-consuming IT management processes with automated, reliable, and proactive solutions across all three systems simultaneously.

01

Automating Stale ID Detection in a Large Active Directory Environment

Large AD environments accumulate dormant accounts across staff changes, contractor access, service accounts, and project-based access grants. Identifying which accounts are genuinely stale — without disrupting legitimate accounts — requires precise query logic and a reliable reporting mechanism before any cleanup action is triggered.

Active Directory · Identity Security · PowerShell
02

Building Real-Time MSSQL Monitoring with Meaningful Alerts

Generic monitoring captures noise; effective monitoring captures signal. Building an MSSQL monitoring module that provides real-time insights requires selecting the right performance indicators — blocking sessions, query times, disk I/O, memory pressure — and setting alert thresholds that trigger on genuine problems, not false positives.

MSSQL Server · Performance Monitoring · Shell Scripting
03

Creating a Comprehensive Oracle Healthcheck That Covers the Right Metrics

Oracle database health spans performance metrics, resource utilization, and error log analysis — all of which need to be checked daily in a banking environment. The healthcheck module needed to cover all three consistently and generate automated reports that gave database owners actionable information, not raw log dumps.

Oracle Database · Healthcheck Automation · Shell + PowerShell
04

Integrating Three Automation Tools into a Cohesive Program

Each module used different scripting approaches for different systems. The integration challenge was ensuring that all three operated reliably in parallel — with consistent reporting formats, aligned scheduling, and no conflicts between the monitoring and healthcheck activities running concurrently on shared infrastructure.

Automation Integration · Scheduling · Consistency

Three modules — one integrated automation program

Each module was purpose-built for its technology stack. PowerShell for Active Directory — because AD management is a native PowerShell domain. Shell scripting for MSSQL and Oracle — because both require direct server-level interactions that Shell handles with precision. All three coordinated under a single reporting and scheduling framework.

Module 01
🪪

Active Directory Stale ID Identification

PowerShell · Windows AD
Stale account detection automated. PowerShell queries identify inactive user IDs against configurable criteria. Automated reporting and cleanup processes eliminate manual effort from AD account management.
Module 02
📊

MSSQL Server Monitoring Module

Shell Scripting · MSSQL Server
Real-time performance visibility deployed. Shell scripting monitors key MSSQL health indicators and generates alerts on threshold breaches — enabling proactive response before issues reach production impact.
Module 03
🏥

Oracle Database Daily Healthcheck

Shell Scripting · PowerShell · Oracle
Daily automated healthcheck operational. Shell scripting and PowerShell run daily checks across performance metrics, resource utilization, and error logs — with automated reports distributed to database owners each morning.
🔗

Why three modules needed to be built as one program

Building three separate automation scripts and calling them done is not an automation program — it’s three scripts. The integration requirement was the differentiating challenge: consistent reporting formats so that output from all three modules could be consumed in the same operational workflow, aligned scheduling so that monitoring, healthcheck, and cleanup activities didn’t conflict, and a coordinated alerting approach so that banking infrastructure teams received clear, actionable notifications rather than three separate alert streams from three separate tools.

Module 01 — Active Directory

Active Directory Stale ID Identification — PowerShell automation

Dormant user accounts are one of the most common and consistently overlooked security risks in enterprise IT — especially in banking, where access controls are directly tied to regulatory compliance. Accounts that were created for contractors, temporary projects, or former staff and never disabled represent open doors that most audit frameworks require to be closed within defined timeframes.

Softenger developed PowerShell scripts that automated the entire stale ID lifecycle: detection, reporting, and cleanup — removing the manual effort that had previously made regular account reviews unreliable and infrequent.

  • PowerShell queries Windows Active Directory for accounts meeting configurable inactivity criteria — last logon threshold, account age, group membership, and enabled status
  • Automated reports generated per-run, listing stale account candidates with supporting AD data for administrator review before cleanup actions execute
  • Automated cleanup process disables and flags stale accounts based on review-approved criteria — eliminating manual AD console work
  • Scheduled execution ensures stale ID reviews run consistently — not only when a team member remembers to check
  • Reporting logged with timestamp and account data — providing an audit trail for compliance and security review requirements
Identify-StaleADAccounts.ps1
# Module 01 — AD Stale ID Identification
# Banking Client · PowerShell Automation
 
$threshold = (Get-Date).AddDays(-90)
 
$staleAccounts = Get-ADUser -Filter {
  Enabled -eq $true -and
  LastLogonDate -lt $threshold
} -Properties LastLogonDate, Department
 
[ Found 47 stale accounts ]
[ Generating report → AD_Stale_2025-12.csv ]
[ Disabling 47 accounts… ]
✓ Cleanup complete · Audit log written
Outcome — Active Directory

Stale user ID identification and cleanup automated across the banking client’s AD environment. Manual effort eliminated. Security posture improved through consistent, scheduled account hygiene. Compliance audit trail generated automatically with every run.

Module 02 — MSSQL Server
mssql_monitor.sh — Health Check
# Module 02 — MSSQL Server Monitoring
# Shell Scripting · Real-Time Alerting
 
## Check: CPU & Memory utilization
CPU: 34% · Memory: 68% · [OK]
 
## Check: Blocking sessions
SELECT COUNT(*) FROM sys.dm_exec_requests
WHERE blocking_session_id > 0
[ 0 blocking sessions — OK ]
 
## Check: Disk I/O latency
Read: 4ms · Write: 6ms · [OK]
 
All checks passed · Next run: 15 min
Outcome — MSSQL Server

Real-time MSSQL monitoring deployed. Performance issues identified at the metric level before reaching application impact. Proactive alerting enables the banking client’s team to resolve issues within maintenance windows rather than under incident pressure.

MSSQL Server Monitoring — real-time insights and alerts

MSSQL Server performance issues in a banking environment don’t cause minor inconveniences — they cause transaction processing failures, reconciliation errors, and regulatory reporting delays. By the time a user reports a slow application, the underlying database issue has typically been building for minutes or hours. Real-time monitoring changes the response dynamic: issues are detected at the metric level before they surface at the application level.

Softenger built a comprehensive Shell scripting monitoring module that tracked key MSSQL performance indicators continuously, with configurable alert thresholds that triggered notifications before thresholds became incidents.

  • CPU utilization, memory pressure, and disk I/O tracked on a scheduled polling interval
  • Blocking session detection — one of the most common MSSQL performance killers in transactional environments — monitored in real time
  • Query performance tracking identifies long-running queries before they impact application response times
  • Database availability monitoring with immediate alert generation on connectivity failure
  • Threshold-based alerting: configurable per-metric per-environment to match the banking client’s SLA requirements
  • Reporting module generates historical performance data for trend analysis and capacity planning
Module 03 — Oracle Databases

Oracle Database Daily Healthchecks — automated every morning

Database administrators in banking environments are expected to know the health state of their Oracle databases at the start of each business day. Manually running the same set of diagnostic queries across multiple databases every morning is a reliable source of missed checks, inconsistent coverage, and delayed detection of issues that developed overnight.

Softenger implemented an automated daily healthcheck module that runs every morning before business hours — producing a structured report covering performance metrics, resource utilization, and error log analysis for every Oracle database in scope. Administrators start the day informed, not scrambling.

  • Tablespace utilization — daily check against configured thresholds flags tables approaching capacity before they cause issues
  • Redo log activity and archiver status checked to identify log switch frequency anomalies
  • SGA/PGA memory utilization reviewed against baseline norms for each database instance
  • Alert log scan for ORA- error codes — new errors since the last healthcheck surfaced in the daily report
  • Failed RMAN jobs and backup status verified — backup failures in a banking environment require immediate escalation
  • Automated report distributed to database owners each morning — structured format, consistent across all databases in scope
oracle_healthcheck.sh — Daily Run 06:00
# Module 03 — Oracle Daily Healthcheck
# Banking Client · Shell + PowerShell
 
## Tablespace utilization
USERS: 72% · SYSTEM: 41% · TEMP: 28%
✓ All tablespaces within threshold
 
## Alert log — ORA- errors (last 24h)
Scanning alert_BANKPROD.log…
✓ No new ORA- errors detected
 
## RMAN backup status
✓ Last backup: 02:14 · Status: SUCCESS
 
Report → oracle_health_2025-12-02.pdf
Distributed to: DBA team · 06:04
Outcome — Oracle Databases

Daily Oracle healthchecks automated and running before business hours. Database owners receive structured health reports every morning without running a single query manually. Issues that developed overnight are identified and flagged before they affect banking operations.

Three-Module Automation Architecture — Banking Client AD · MSSQL · Oracle · PowerShell + Shell Scripting
Windows Automation for Active Directory, MSSQL and Oracle — Three-Module Program Architecture

What the banking client had
when all three modules went live

The outcomes map directly to the business need: manual processes eliminated, monitoring gaps closed, database health proactively managed. All three running continuously and in parallel.

Module 01 — AD

Active Directory Security — Automated

  • Stale user ID identification and cleanup automated — manual effort eliminated
  • AD management processes streamlined — consistent account hygiene maintained on schedule
  • Security posture improved through systematic dormant account removal
  • Compliance-ready audit trail generated automatically with each run
Module 02 — MSSQL

MSSQL Monitoring — Real-Time

  • Real-time insights and alerts deployed — proactive issue management enabled
  • MSSQL Server performance and reliability improved through continuous visibility
  • Issues identified at metric level before reaching application and user impact
  • Reporting provides historical trending for capacity planning
Module 03 — Oracle

Oracle Health — Daily & Consistent

  • Automated daily healthcheck running before business hours — zero manual queries required
  • Consistent monitoring across all Oracle instances in scope — no databases missed
  • Database performance issues and errors surfaced in structured morning reports
  • Proactive checks prevent overnight issues from becoming business-hours incidents
💡

Key Takeaway

This project demonstrates Softenger’s expertise in developing and deploying comprehensive automation solutions for IT infrastructure management in high-stakes environments. By automating critical processes for Active Directory, MSSQL Server monitoring, and Oracle database healthchecks simultaneously, Softenger significantly enhanced operational efficiency, security, and system reliability for a banking client where manual process failures carry direct business and compliance consequences.

Softenger’s Engagement Framework

Every engagement follows
the AOTS framework

The three-module automation program followed Softenger’s AOTS model from initial scoping to post-deployment validation. The Advise phase determined that all three modules needed to be built in parallel — not sequentially — because the banking client’s security, monitoring, and database health requirements were all active risks at the same time. Sequencing them would have left two risks unaddressed while the first was resolved.

The Transform phase — where all three modules were tested and deployed — required coordinated scheduling and integrated reporting so that the three automation programs operated as a cohesive system. The Support phase keeps all three running, alerting, and reporting consistently in the live banking environment.

A
Phase 01

Advise

Clarity Before Action

Assessed all three manual process risks. Determined parallel build was required. Defined scope per module, scripting approach per technology, and integration requirements for reporting and scheduling.

In this engagement

All three module scopes defined. PowerShell for AD, Shell scripting for MSSQL and Oracle. Integrated scheduling and reporting design approved.

O
Phase 02

Optimize

Precision Over Patchwork

Scripts developed and tested per module. AD queries validated against test accounts. MSSQL alert thresholds calibrated. Oracle healthcheck coverage confirmed against client’s database inventory.

In this engagement

All three module scripts developed and unit-tested. Alert thresholds calibrated. Report formats agreed and signed off.

T
Phase 03

Transform

Evolution Without Disruption

All three modules deployed simultaneously. Scheduling coordinated. Integration testing confirmed modules operate without conflicts. First live runs validated — AD reports generated, MSSQL alerts firing correctly, Oracle healthchecks distributed.

In this engagement

All three automation modules live and running. First reports distributed. Banking IT team receiving consistent, automated outputs across all three systems.

S
Phase 04

Support

Continuity as a Standard

All three modules running in production. AD stale ID reviews scheduled and consistent. MSSQL monitoring continuous. Oracle healthchecks daily before business hours. Ongoing maintenance of scripts and thresholds as the environment evolves.

In this engagement

Three-module automation program sustained. Banking client’s IT team operating with automated security, monitoring, and health management — no manual intervention required.

The AOTS model is applied to every Softenger engagement

Advise, Optimize, Transform, Support — the same four-phase discipline structures every engagement, from banking automation programs to large-scale network changes, SOC operations, and IT infrastructure management.

Advise Optimize Transform Support

Questions about banking IT automation

Q1 How did Softenger identify and clean up stale Active Directory user IDs in a banking environment? +
Softenger developed PowerShell scripts that automated the detection of stale or inactive user IDs within the client’s Windows Active Directory environment. The scripts queried AD for accounts meeting configurable inactivity criteria — last logon date, account age, group membership patterns — and generated automated reports flagging candidates for review and cleanup. Automated cleanup processes were implemented alongside the detection scripts, reducing the manual effort required to maintain a clean, secure AD environment in a banking context where dormant accounts represent a genuine security and compliance risk.
Q2 What does the MSSQL Server monitoring module track and how does it generate alerts? +
The MSSQL Server monitoring module uses Shell scripting to track key performance metrics and system health indicators — including CPU utilization, memory pressure, disk I/O, query performance, blocking sessions, and database availability. The module generates real-time alerts when metrics breach configurable thresholds, enabling proactive response before issues impact production operations. Reporting features provide both real-time dashboards and historical trend data for capacity planning and incident investigation.
Q3 What checks does the automated Oracle database healthcheck module perform? +
Softenger’s automated Oracle healthcheck module performs daily checks across three primary categories: performance metrics (query response times, tablespace utilization, redo log activity), resource utilization (CPU, memory, disk I/O at the database layer), and error logs (alert log scanning for ORA- errors, trace file generation, and failed job detection). Results are compiled into automated daily reports distributed to the relevant database and infrastructure owners — enabling consistent oversight without requiring a DBA to run manual checks each morning.

Tell us which manual
processes you need
automated first.

Whether it’s Active Directory account lifecycle management, database monitoring and healthchecks, server performance tracking, or any other repeating IT process that currently requires manual execution — Softenger builds automation that’s tailored to your technology stack and delivers from day one. A conversation with one of our automation specialists starts with the process, not the tool.

⚙️ Discuss an IT Automation Project

ISO 27001 certified. Your information is handled securely and never shared.

🛡️
ISO 27001:2022Information Security Management
ISO 9001:2015Quality Management System
⚙️
IT Automation DeliveryPowerShell · Shell Scripting · Banking
📅
Est. 199925 Years of Enterprise IT Delivery
Scroll to Top