Miten rakensin PS1 GUI Utilityn helpottamaan ServiceNow-ylläpitoa
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.