Rajarshi's Portfolio

Welcome to my PowerShell and automation portfolio. I'm a software engineer passionate about building robust, efficient tools that streamline business operations, automate manual processes, and simplify complex tasks. This collection showcases scripts and utilities I’ve developed across various projects—ranging from Windows server, API, Webdriver and Azure environments. Each entry highlights the purpose, technologies used, and core scripting concepts, giving you insight into both the technical implementation and the value it delivers.

Contact: rajarshi7rahul@gmail.com
LinkedIn: linkedin.com/in/rajarshi-dwivedi-abab7a281
Resume: Download Resume

Chromedriver Auto-Updater

Purpose: A simple utility to automatically fetch and update the latest compatible version of ChromeDriver for Selenium-based web automation environments.

Technologies Used: PowerShell, Web Requests, Version Detection

Key Concepts: Browser compatibility, automated downloading, dynamic versioning

⬇ run_this_to_get_latest_chromedriver.ps1

Media Metadata Editor

Purpose: Automatically reads and edits metadata of video files within a selected folder to help streamline and organize a local media library efficiently.

Technologies Used: PowerShell, TagLibSharp.dll, Windows Forms, CSV Logging

Key Concepts: Recursive file handling, folder selection UI, tag editing using DLL module,output CSV

⬇ edit_media_discription.ps1

SEC Filing Fetcher API – FastAPI Microservice

Purpose: Backend utility built with FastAPI to retrieve quarterly SEC filings (e.g., 10-K, 8-K) from EDGAR. Accepts date range, ticker list, and form type to return structured URLs for each filing, tailored for integration in finance or compliance dashboards.

Technologies Used: Python, FastAPI, requests, pandas, SEC EDGAR API, Node.js integration

Key Concepts: RESTful API design, external data scraping, JSON response formatting, ticker-to-CIK mapping, cross-quarter batch parsing

⬇ get_filings.py

Azure Function App Service mangers

Purpose:Runs serverlessly on Azure Function App, authenticates into your Azure environment, and gracefully stops specified services on a defined Virtual Machine and Workgroup. Used for monitoring service status and Restarts.

Technologies Used: PowerShell, Azure Az Module, Serverless Architecture,Azure Funtion App

Key Concepts: Cloud automation, service lifecycle management, secure login, resource targeting

⬇ Azure_stop_service.ps1

Advanced File Cleanup Utility

Purpose: Permanently deletes files from a selected folder based on user-defined conditions such as name pattern, extension, or size. Designed for advanced users to automate targeted cleanup tasks.

Technologies Used: PowerShell, Windows Forms, FileSystem Object

Key Concepts: UI prompts, parameterized deletion logic, recursive folder scanning, real-time action feedback

⬇ File Cleanup.ps1

PMS Bookings Report Generator

Purpose: Generates the PMS booking master file by processing the latest booking exports and comparing them against previously stored snapshots. This report is a core part of the Booking Refresh Automation Utility.

Technologies Used: PowerShell, Excel COM Automation, Timestamp Validation, File I/O

Key Concepts: Booking state comparison, export file validation, dynamic report creation, timestamp-controlled logic, dashboard file generation

⬇ PMS_bookings_2025.ps1

Set 7-Zip as Default Extractor

Purpose: Configures the Windows registry to set 7-Zip as the default application for extracting archive files with a double-click, using the GUI extractor.

Technologies Used: PowerShell, Windows Registry, 7-Zip

Key Concepts: Registry editing, file association, string formatting, automation of GUI behavior

⬇ 7-zip_default.ps1

YAML Config Scraper

Purpose: Recursively scans a selected folder for YAML configuration files and extracts key data into structured `.txt` outputs. Automatically handles versioning of previous runs by timestamping existing files.

Technologies Used: PowerShell, powershell-yaml module, Windows Forms

Key Concepts: YAML parsing, recursive file handling, UI-based folder selection, automated file versioning

⬇ Scrape_yaml.ps1

SQL Table Definition Extractor

Purpose: Parses SQL scripts containing table creation statements to extract schema information like table names, columns, data types, and constraints into structured PowerShell objects.

Technologies Used: PowerShell, Regular Expressions, FileSystemObject

Key Concepts: Pattern matching, custom object construction, SQL parsing automation, recursive file processing

⬇ SQL data extraction.ps1

Mineral Information Scraper

Purpose: Automates the extraction of mineral data from mindat.org by performing UI-based searches using Selenium, and compiles results like formula and lustre into a downloadable CSV report.

Technologies Used: PowerShell, Selenium WebDriver, ChromeDriver, XPath

Key Concepts: Web scraping, browser automation, dynamic element handling, CSV reporting

⬇ Get-mineral_info.ps1

Text-to-Voice Alert System

Purpose: Converts any input text into spoken voice alerts using Windows' built-in speech engine. Useful for warning systems, verbal logs, or accessibility enhancements.

Technologies Used: PowerShell, .NET System.Speech, Windows Voices

Key Concepts: Text-to-speech synthesis, input from file, audio feedback, speech customization

⬇ Text-to-Voice.ps1

Oracle Batch Script Executor (PIW)

Purpose: Connects to an Oracle database and executes a sequence of SQL scripts organized for PIW (Pre-Installation Workflow) or functional initialization. Outputs are stored and structured automatically.

Technologies Used: PowerShell, Oracle SQL*Plus, FileSystemObject

Key Concepts: Parameterized execution, batch processing, Oracle connectivity, SQL automation

⬇ PIW_scripts.ps1

Automated Video Backup Tool

Purpose: A browser-assisted automation tool that monitors and manages the download of video lectures from educational web portals without API access. It uses Chrome WebDriver to observe downloads, renames videos intelligently, and backs them up to structured course folders.

Technologies Used: PowerShell, Selenium WebDriver,, FileSystem, Transcript Logging

Key Concepts:Browser automation, download monitoring, file integrity checks, folder structuring, automated backup

⬇ Migrate_videos.ps1

Course Info Extractor

Purpose: Automates the process of generating student reports for a selected course by scraping structured data from an education web portal using Selenium. Outputs are saved in an Excel-friendly format for easy review and recordkeeping.

Technologies Used: PowerShell, Selenium WebDriver, Chrome, Windows Forms

Key Concepts: UI-based parameter input, browser automation, dynamic data scraping, student record export

⬇ LMS_Course_info.ps1

IFC/OPI Services Auto-Restart Utility

Purpose: Automates the controlled restart of Opera IFC and OPI services in environments where services need to be bounced in a strict sequence (e.g., after system maintenance or crash recovery). Includes status logging and timed waits for graceful transitions.

Technologies Used: PowerShell, Windows Services, Transcript Logging

Key Concepts: Sequenced service control, dynamic service list handling, production support automation, downtime minimization

⬇ IFC_services_bounce.ps1

WebLogic Service Control – OAPP Startup & Shutdown Utility

Purpose: A batch script designed to automate the startup and shutdown sequence for OAPP-related services managed under the Oracle WebLogic environment. Ensures controlled sequencing of service dependencies.

Technologies Used: Batch scripting, Windows Service Control (`sc`), Oracle WebLogic command-line tools

Key Concepts: Sequential service handling, dependency order enforcement, silent operation, integration with WebLogic environment variables

⬇ Start_Stop_oapp.bat

Automated Windows Service Checker

Purpose: Monitors and logs the status of critical Windows services across remote servers to ensure uptime and detect failures early.

Technologies Used: PowerShell, WMI, Windows Services, CSV Logging

Key Concepts: Loops, remote server access, error handling, conditional logic

⬇ Service_Checker.ps1

Opera Cloud API Utility – Backend for Windows Forms Hotel Dashboard

Purpose: A PowerShell-based backend service for a Windows Forms application used for hotel environments running Oracle Opera Cloud. This utility interfaces directly with Opera Cloud APIs to fetch and update live hotel data—room status, reservations, and event logs.

Technologies Used: PowerShell, REST API (GET/POST/PUT), Oracle Hospitality API Suite, Windows Forms (Frontend)

Key Concepts: API token-based authentication, JSON payload construction, real-time request handling, backend logic modularization, dynamic request routing based on UI inputs

Special Features:

  • Acts as the backend layer for a GUI built using Windows Forms, separating UI and logic layers.
  • Receives inputs via the frontend and triggers API requests with dynamically assembled headers and body.
  • Fully decoupled structure enables the frontend to focus on user interaction while the script handles all network communication.
  • Modular, scalable, and reusable across multiple hotel properties.
⬇ API_OPERA_CLOUD.ps1

Opera Frontdesk Compliance Validator

Purpose: This utility is designed for deployment across hotels using the Opera Front Desk system backed by Oracle DB. It performs in-depth validation checks to ensure the environment is production-ready, especially before executing mission-critical operations like upgrades or data migration.

Technologies Used: PowerShell, Oracle SQL, HTML Email Composition, SharePoint Integration, Windows Forms

Key Concepts: Custom validation workflows, dynamic HTML report generation, system service checks, registry evaluation, user-role compliance, scheduled backup evaluation, SharePoint upload, and automated status mailing.

Special Features:

  • Collects a wide array of system and application-level details from the target Opera environment.
  • Evaluates database connectivity, TNS listener status, and scheduled backup configurations.
  • Executes multiple SQL queries and wraps their results into structured CSV reports.
  • Generates a dynamic HTML report to visually summarize validation status with color codes.
  • Emails the report directly to clients/stakeholders using SMTP, eliminating manual communication.
  • Includes helper logic for detecting Oracle client presence, Java version, and patch compliance.
  • All reports are automatically pushed to a SharePoint directory for permanent archiving.
⬇ Opera_info.ps1 9-bat_scripts.zip
60-sqlquery_scripts.zip

Booking Refresh Automation Utility – End-to-End Pipeline

Purpose: This robust utility orchestrates a complex refresh pipeline that automatically downloads, validates, merges, and uploads critical booking data every 3 hours. It connects to multiple platforms including Microsoft Bookings, Smartsheet, and SharePoint, creating a unified Excel report that's distributed via email and uploaded to internal dashboards.

Technologies Used: PowerShell, Selenium WebDriver, Excel Automation, Smartsheet Web Automation, SharePoint UI Automation, HTML Email Templates

Key Concepts: Modular orchestration, timestamp-based validation, web UI scraping, retry-loop resiliency, Excel merging, automated scheduling, structured logging, error alerting, email automation with attachments.

Workflow Summary:
⬩ Downloads data from Smartsheet, SharePoint, and Bookings.com using Selenium
⬩ Validates export timestamps to ensure data freshness
⬩ Manage Daylight Savings Time based on the Property location
⬩ Consolidates bookings into master reports using logic-driven merges
⬩ Uploads final validated reports to internal portals (elit & dashboard)
⬩ Sends formatted summary emails with status logs and attachments
⬩ Self-heals by retrying failed modules and logging each step

Script:
⬇ Master Contoller.ps1 ⬇ Main_bookings.ps1
⬇ DST_changes.ps1 ⬇ Download_smartsheet.ps1
⬇ upload_commitment_logs.ps1 ⬇ upload_To_sharepoint.ps1
⬇ run_this_to_get_latest_chromedriver.ps1 Kkill DB session.ps1
fetch_Sharepoint_Reports.ps1 run_DB_bukinsert.ps1



Restaurant Refund Automation Utility (RSU)

Purpose: This utility is used in production environments to automate the refund process for restaurant bookings in case of permanent or temporary closuresor. It integrates multiple components—from Python scripts to PowerShell automation—ensuring secure, accurate, and timely processing of refund actions. This tool significantly reduces manual intervention in a high-volume business operation.

Technologies Used: PowerShell, Python (pandas, openpyxl, azure-identity, azure-keyvault-secrets), Smartsheet API, ImportExcel module, Azure Key Vault

Key Concepts: - Secure token-based authentication with Azure Key Vault
- Dynamic Excel file validation and parsing
- Environment-specific logic for refund processing
- Resilient error handling and process re-attempt logic
- Seamless orchestration of dependent Python scripts
- Compatibility with organizational booking and refund workflows

Special Features: - All critical logic (file selection, environment selection, Python call sequence) is driven by unattended Powershell Script.
- Scripts are validated using checksum and version tagging before execution.
- The process flow includes smart re-run policies if intermediate steps fail (e.g., refund API reattempt).
⬇ RSU_Main PROD.ps1
⬇ get_product.py
⬇ postPayment.py
⬇ getCommunication_Reservation.py

LMS Migration Utility – End-to-End Migration of Educational Assets

Purpose: This utility automates the complex process of migrating educational data and digital assets from an older LMS platform (without API access) to a newer, API-driven LMS. It addresses a common institutional challenge—porting structured content like student records, course quizzes, video lectures, and learning material—without manual intervention or backend database access. The utility enables seamless transition of operational data to support uninterrupted learning experiences for students.

Technologies Used: PowerShell, Selenium WebDriver, Windows Forms (UI-based input handling), RESTful API (for destination LMS), HTML parsing, JSON manipulation, CSV transformation

Key Concepts: This suite showcases the integration of web scraping and API automation in educational technology. Using headless Selenium-based browsing, it navigates LMS web portals to extract test results, student-specific progress metrics, and downloadable courseware. Files are sanitized and structured using PowerShell logic before being injected into the target LMS’s Asset Library via API POST requests. It incorporates error handling, retry mechanisms, timestamp-based validation, and login session management for reliable automation across institutional setups.

Unique Features:

  • Handles legacy LMS systems with no backend access
  • Enables batch export of student test details and quiz configurations
  • Automates downloading of lecture videos and teaching material using UI-based web navigation
  • Processes and restructures quiz and test content for compatibility with the new LMS API
  • Implements token-based REST communication with asset upload endpoints

Included Scripts:

⬇ LMS_Migrate_videos.ps1 ⬇ LMS_export_quiz.ps1
⬇ LMS_Student_test_details.ps1 ⬇ LMS_import_quiz_asset_Library_API.ps1
⬇ LMS_Course_info.ps1

Cancellation Tracker - POWER BI Dashboard

Purpose: This dashboard provides detailed analytics on hotel bookings received from major online travel agencies such as Booking.com and Expedia. It focuses on highlighting key metrics including total bookings, net room revenue, cancellation counts, and revenue losses due to cancellations. The main objective is to enable clients to monitor cancellation trends over a defined time range and take informed actions to reduce revenue loss.

Technology & Integration: Built on a pre-defined semantic model, the dashboard is integrated with real-time hotel data systems and supports time-based filters. It uses data visualization elements like line graphs and pie charts to represent booking fees, booking status distribution, and cancellation impact across sources.

Key Visuals: Real-time metrics display, custom date filters, source badges, and dynamically refreshed cancellation analytics, all presented with a clean and intuitive user interface.

Data Model: The dashboard leverages a live connection to a centralized semantic model rather than importing static data. This ensures that all metrics—such as cancellations, actual revenue, and net bookings—are up-to-date. Custom DAX measures are used extensively to compute critical KPIs like "Net Amount Cancelled", "Cancellation Count", and "Actual Booking Fee" dynamically based on user-selected filters and timeframes.

Cancellation Tracker Dashboard Cancellation Tracker Dashboard

Course Lead Collector – Make.com Workflow

Purpose: This automation pipeline handles course inquiries submitted via Google Forms and streamlines lead management. It ensures prompt logging, communication, and team notification for every new student interest.

Technologies Used: Make.com (formerly Integromat), Google Forms, Excel, Microsoft Teams, Gmail

Key Concepts: Form-based data capture, conditional filtering, dynamic Excel sheet population, templated email responses, Teams channel integration

Workflow Steps:
1. Collect student application info via Google Forms
2. Filter responses based on predefined logic (e.g., age, region, interest)
3. Auto-fill an Excel sheet with validated entries
4. Send a custom acknowledgement email to the applicant
5. Post a message in a Microsoft Teams channel to notify the support team

Note: This Make.com module is cloud-based and does not contain a script.

Blender Animations for Geology Concepts

Purpose: These 3D animations were designed as part of the Geology Concepts teaching platform to enhance visual learning and professional branding. Created using Blender, they serve both educational and presentation purposes.

Usage Overview:

  • Geological Time Scale Animation: A rotating Earth animation used in teaching to illustrate Earth's evolution and the span of geological periods visually.
  • 3-D plane expanation: Uses at 3 dimentional X,Y and Z plane to demonstrate properties of minerals
  • Logo Outro (White Theme): Marks the end of video lessons and brand presentations for consistency and clarity.

Technologies Used: Blender, 3D-animation, 3D-Design

Student Progress Tracker – Make.com Workflow

Purpose: This automation monitors students’ weekly test scores, updates their performance dashboard, and notifies mentors about progress or concerns. It reduces manual tracking effort and improves timely interventions.

Technologies Used: Make.com, Google Sheets, Gmail, Telegram Bot API, Google Drive

Key Concepts: Spreadsheet parsing, conditional alerts, bot messaging, auto-updated dashboards, mentor loop-ins

Workflow Steps:
1. Auto-fetch student scores from a shared Google Sheet every week
2. Calculate average scores, streaks, and identify low performers
3. Send weekly summary emails to students with suggestions and custom report
4. Alert mentors via Telegram Bot for students falling below benchmarks

Note: This Make.com module is cloud-based and does not contain a script.

KPP Overview - POWER BI Dashboards

Purpose: These group of dashboards provide a centralized view of the Keep Patching Pace (KPP) activities across three major upgrade streams. Each dashboard represents a distinct activity group where application and database versions are upgraded across multiple hotel properties. They track schedules, patch rollout plans, validation checkpoints, and version control across systems. The dashboards are powered by direct Oracle DB connections using ODBC drivers, allowing near real-time refresh and reporting. These are used to communicate progress and coordinate timelines with internal stakeholders and client teams, ensuring transparency and traceability in high-impact deployment cycles.

Technology & Integration: The dashboard is connected to an Oracle database using ODBC drivers. Data is automatically refreshed at regular intervals to reflect the most recent updates regarding booking operations, patch cycles, and task completion.

Utility Reference: Works in conjunction with a Dynamic Utility to provide up-to-date insights to clients about ongoing patch deployments and system upgrades.

Key Visuals:

  • Burndown Chart: Built using complex DAX expressions to compute ideal, actual and planned pace over a time period. Custom columns calculate cumulative task closures vs. targets.
  • Cumulative Patching Pace Chart: Dynamically tracks progress over a quarter. DAX logic maps task transitions to financial or time impact.
  • Version Info & Control View: Shows current and target application/database versions for each hotel
KPP Overview Dashboard KPP Overview Dashboard KPP Overview Dashboard KPP Overview Dashboard