Skip to content

About

PowerShell and VBA automation framework for Rocket BlueZone and compatible terminal emulators. Approval-gated keystrokes, JSONL audit log, LegaSuite popup reader via MSHTML. Native Windows runtimes only — no npm, no pip.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

greenscript

A green-screen automation framework for Windows. Drive terminal emulators and their GUI faceplates from PowerShell and VBA, with approval gates and audit logging built in, using only the runtimes shipped with Windows.

Status: v0.1 — early. API will change. License: MIT

What it is

Terminal emulators like Rocket BlueZone, IBM Personal Communications, and Reflection Desktop expose automation surfaces that have been used for decades to script against the mainframe, midrange, and legacy applications behind them. greenscript wraps those surfaces in a small, intentional PowerShell module and VBA module, adds an approval model and a JSONL audit log, and ships recipe scripts for the patterns people actually need.

The library is dealer-, vendor-, and vertical-agnostic. If you have a BlueZone-driven line-of-business system, greenscript gives you a cleaner API than raw COM calls and a safer execution model than hand-rolled macros.

What it is not

  • Not an RPA platform. There is no visual designer, no cloud orchestrator, no licensed runtime.
  • Not an AI product. The connector has zero dependency on any LLM, local or hosted.
  • Not an integration product. It drives the terminal emulator the operator is already running, under the operator's own credentials, from their own workstation.

Where it applies

greenscript binds to the terminal emulator, not to any particular host, so it applies wherever people still do their job in a green screen through a Windows emulator. Two layers matter.

Emulators — what the module actually talks to:

Emulator Status
Rocket BlueZone (3270, 5250, VT100/220/420, and Tandem 6530 sessions) Supported today, through the BZWhll COM object
IBM Personal Communications, Reflection Desktop, Extra! X-treme, Rumba+, HostExplorer, and other EHLLAPI-capable emulators Planned: HLLAPI driver (ehlapi32/64.dll), the same interface Microsoft Power Automate uses

Host systems — what people drive through those emulators. Typical examples by industry; inclusion means "commonly accessed through a terminal emulator" and nothing more. greenscript has been verified live only against CDK Drive; see Verification status below.

  • Automotive retail — dealer management systems such as CDK Drive.
  • Banking and credit unions — IBM i cores such as Jack Henry SilverLake and CU*BASE; mainframe cores such as FIS Systematics.
  • Insurance — policy administration and claims on z/OS (CICS / IMS); RPG applications on IBM i.
  • Healthcare — the VA's VistA and IHS RPMS "roll-and-scroll" interfaces; legacy lab and patient-accounting systems.
  • Government — unemployment insurance, DMV, Medicaid (MMIS), tax, and court case-management systems.
  • Distribution, manufacturing, ERP — JD Edwards World; Infor XA (MAPICS) and LX (BPCS); VAI S2K; Epicor Eclipse and other UniVerse / MultiValue applications; older Manhattan WMS (PkMS).
  • Retail — merchandising and back-office systems on IBM i such as Island Pacific.
  • Travel and logistics — TPF-based airline reservation and cargo systems; rail and freight legacy systems.
  • Utilities and telecom — customer information and billing systems on the mainframe.

Rule of thumb: if your users open a terminal emulator to do their job, the screens are a fixed character grid (24×80 or 27×132), and the emulator has a macro recorder, the system is a fit. docs/compatibility.md has the longer list and a checklist.

Verification status

Verified live on 10–11 October 2026 against CDK Drive (BlueZone client) on Windows 11, Windows PowerShell 5.1 (32-bit host): Connect-GsSession, Read-GsScreen (full and partial reads), Get-GsCursor, Send-GsKeys (text, <Enter>, <F1>), Wait-GsText (both the found and the timeout paths), Disconnect-GsSession, and examples/01-read-screen.ps1. Read-GsPopup is unchanged from the standalone script it was factored from, which was verified against the same client's web popups. The Pester suite covers the cmdlet logic on every push.

Roadmap

In rough order:

  • Find-GsText and Wait-GsText -Anywhere — search the whole buffer instead of an exact row and column (BlueZone's WaitForText is anchored).
  • Per-screen key policy — F-key meanings change per screen and even per field; the global forbidden list is a blunt v0.1 instrument.
  • HLLAPI driver (ehlapi32/64.dll) — other emulators, and a 64-bit path.
  • Print-capture and SFTP adapters — reports and bulk data without screen reads.
  • Audit-log masking — redact configured fields before they reach disk.

Why "native Windows"

Every runtime greenscript uses already ships on a modern Windows machine:

  • PowerShell 5.1 — baked into Windows 10 and 11.
  • BlueZone VBA — Rocket Software's add-on, included with most BlueZone deployments.
  • .NET Framework 4.x — present on every supported Windows release.
  • MSHTML (IHTMLDocument2) — the Windows HTML document interface used to read GUI popups rendered as embedded browser controls.

No npm, no pip, no runtime installer. The connector is scripts and VBA that run on tools the workstation already has.

Install

# From a cloned checkout:
Import-Module .\powershell\GreenScript.psd1

# Or copy the module into the user module path:
Copy-Item -Recurse .\powershell $env:USERPROFILE\Documents\WindowsPowerShell\Modules\GreenScript
Import-Module GreenScript

BlueZone's COM object is 32-bit. On 64-bit Windows, run PowerShell from C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe. The module will warn and exit if invoked under a 64-bit host.

See docs/installation.md for details and troubleshooting.

Quick example

Import-Module GreenScript

$session = Connect-GsSession   # attaches to the active BlueZone session

Read-GsScreen -Session $session | Format-Table Row, Text

Send-GsKeys   -Session $session -Keys "WAQ<Enter>" -Confirm
Wait-GsText   -Session $session -Text "Work a Quote" -Row 1 -TimeoutSeconds 10

Disconnect-GsSession $session

Every keystroke-sending call runs through [CmdletBinding(SupportsShouldProcess)] and prompts for confirmation by default. -Confirm:$false disables the prompt for scripted scenarios; -WhatIf previews without sending.

Public API

Cmdlet Purpose
Connect-GsSession Attach to a BlueZone session; returns a session handle.
Disconnect-GsSession Release the session.
Read-GsScreen Read the full terminal screen (default 24×80).
Get-GsCursor Return current cursor row/column.
Send-GsKeys Send keys to the host, with approval gate.
Wait-GsText Wait for text to appear at a specific row/column.
Get-GsPopup Enumerate open LegaSuite / embedded-browser popups.
Read-GsPopup Parse a popup's fields, buttons, and visible text.
Write-GsAudit Append a JSONL audit entry (keyed by session).

See docs/api.md for parameter detail and examples.

Examples

Three self-contained scripts in examples/ demonstrate the module without any AI involvement:

Run with powershell -NoProfile -ExecutionPolicy Bypass -File examples\01-read-screen.ps1.

Security model

greenscript operates under the credentials of whoever is signed into the Windows session. It does not store, transmit, or request credentials. It does not open network sockets, make outbound HTTP calls, or write to any file outside the audit log directory the user configures.

The approval gate on Send-GsKeys is enforced through PowerShell's standard SupportsShouldProcess mechanism. You get the usual -WhatIf / -Confirm semantics, plus a configurable deny-list of key sequences that always prompt regardless of -Confirm:$false. The default list (<F3>, <F5>, <SF6>) is a conservative starting point drawn from dealer-DMS screens where those keys save, create, or update; tune it to whatever host you drive.

See docs/security.md for the full model.

Prior art

  • Rocket BlueZone Advanced Automation Developer Guide
  • Microsoft Power Automate Desktop's terminal emulation actions (same ehlapi64.dll HLLAPI surface)
  • IBM EHLLAPI specification
  • The hllapi-node project (CoffeeScript, unmaintained since 2014)

greenscript is not a fork of any of these. It is a modern PowerShell/VBA interpretation of the same automation patterns.

Contributing

See CONTRIBUTING.md.

Project

Published by Breezy Point Beach, LLC.

Repository: https://github.com/Breezy-Point-Beach/greenscript

About

PowerShell and VBA automation framework for Rocket BlueZone and compatible terminal emulators. Approval-gated keystrokes, JSONL audit log, LegaSuite popup reader via MSHTML. Native Windows runtimes only — no npm, no pip.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages