Disbatch enables the instant creation of GUIs for scripts by automatically generating controls based on parameters. With built-in risk analysis and a live command preview, users can confidently run their scripts in a secure, offline environment. Ideal for streamlining user interactions with script-based utilities.
Disbatch
Disbatch is a powerful tool designed to give scripts an intuitive graphical user interface (GUI) instantly. By simply pointing Disbatch at a PowerShell script (.ps1) or a batch file (.bat, .cmd), it automatically reads the script's parameters and generates a corresponding set of controls such as folder pickers, checkboxes, dropdowns, and input fields. This tool not only enhances usability but also statically analyzes scripts for risky behaviors, ensuring safer script execution through an embedded terminal with a progress bar.
⚠️ Caution Advised: While Disbatch is functional, it was developed quickly and has not undergone rigorous security audits. Users are advised to exercise caution, particularly when using it with scripts whose contents are not thoroughly understood. The built-in risk analyzer serves as a heuristic tool, but it is not a security guarantee.
Key Features
- Auto-Generated User Interface: Disbatch leverages PowerShell's Abstract Syntax Tree (AST) parser to create forms from the
param()block of scripts or from positional arguments in batch files, with no manual configuration needed. - Risk Analyzer: This feature flags potentially risky script capabilities, categorizing findings as Warning or Caution. Only upon acknowledging warnings can users execute the script, enhancing safety.
- Embedded ConPTY Terminal: A fully interactive terminal allows direct input and execution of commands. Features include the ability to pause, resume, stop, or clear outputs in real time.
- Mapper Tool: Users can customize controls by modifying types, labels, bindings, and setting parameters directly to corresponding tokens in the script.
- Persistent Settings: Disbatch saves remembered values and user-defined control definitions in a JSON sidecar file, allowing easy sharing and reusability between team members.
- Offline & Portable: This solution operates entirely offline, requiring no installation or additional runtime environments—everything is encapsulated within a single executable.
Visual Demonstrations
Disbatch showcases its capabilities through a user-friendly interface:
- Controls Tab: Automatically generated forms based on script parameters with live command previews.
- Script Analysis: An inline preview combined with risk findings, where risky lines are highlighted for easy identification.
- Batch File Support: Recognizes command line arguments in batch files, enhancing versatility.
Example Usage
To use Disbatch effectively, users can implement the following commands in their scripts:
Write-Host "@progress 42" # Updates progress bar
Write-Host "@status Copying files" # Updates status label
Important Considerations
Although Disbatch simplifies the execution of scripts, it is crucial to critically assess scripts before running them. The risk analyzer is intended to provide an additional layer of scrutiny but does not replace antivirus protections. Obfuscated scripts, in particular, may bypass its checks.
With a roadmap for further enhancements, including better detection systems and improved user experiences, Disbatch aims to continually improve its offerings for script management.
No comments yet.
Sign in to be the first to comment.