Creé una utilidad PS1 con GUI para facilitar las operaciones de ServiceNow
Introduction
In the environment discussed in this article, recurring delays were caused by handover costs for extraction procedures and by differences in permissions. To address this, I built a PowerShell utility with a GUI that supports raw-data export and Database View definition.
- Tool name: PS1 SNOW Utilities
- Repository: https://github.com/arimagml-collab/PS1SOWUtilities
- Stack: PowerShell 5.1 + WinForms (local Windows execution)
Background 1: Export is possible, but operations are heavy
Although ServiceNow can export data from the standard UI, practical operations faced repeated issues.
- Required formats differ by department (CSV/JSON/Excel).
- Teams want fixed columns every time, but list view changes break consistency.
- “All columns + internal names” exports increase procedure handover cost.
- In some cases, CSV-export permission coordination is required.
As a result, maintainers spent time supporting extraction steps instead of data usage. I changed the approach and enabled departments to execute standardized exports by themselves via API.
Background 2: Database View creation exposes RDB skill gaps
Database View is powerful, but difficult for non-engineers or users with little RDB experience.
sys_db_viewandsys_db_view_tableare handled in separate contexts.- Internal column names are hard to review in one screen.
- Without admin rights, users must often inspect internal names in another environment.
- Handwritten WHERE/JOIN definitions are prone to mistakes.
So I concluded that a GUI that allows users to assemble definitions while viewing candidates was necessary.
What I built
The utility has three tabs.
1. Export tab
- Select table (or manual input)
- Filter: all records /
sys_updated_onrange - Output format: CSV / JSON / Excel
- Output folder and execution log
2. Database View Editor tab
- View internal name and label
- Base table and prefix
- JOIN builder (columns, variable prefix, LEFT JOIN)
- Column refresh and selection
- View creation and result link
3. Settings tab
- Instance name
- Authentication (user ID + password / API key)
- Language setting
Values are saved in settings.json. Sensitive values are encrypted using Windows DPAPI (CurrentUser), so decryption works only on the same user and device.
Trade-off in implementation
In corporate environments, installer distribution and resident-app rollout are often difficult. Therefore I prioritized a PowerShell script delivery model that still works in the worst case with plain copy and paste.
Results
- Inquiries moved from “how to export” to “how to use data”.
- Definition omissions and typos in Database View creation decreased.
- Department formats became consistent, reducing preprocessing for automation.
Constraints
- Table lists depend on
sys_db_object; ACL may block retrieval (manual input is a workaround). - Some environments restrict automatic saving of WHERE/JOIN definitions.
- This tool is independent from ServiceNow, Inc. and is not endorsed or supported by the company.
Conclusion
I built PS1 SNOW Utilities to reduce practical bottlenecks in data extraction and Database View definition. With support from generative AI, I could shape a usable GUI workflow through near no-code instructions, and that experience made the speed of AI evolution very tangible.