PowerShell Interface Overview
The GENESIS PowerShell interface is a collection of PowerShell modules that let you read, create, update, and delete configuration directly from the command line or script, without opening the Workbench user interface. Each GENESIS component, in the PowerShell interface called a provider, supplies its own module, so the same configuration you would edit in the Workbench tree is also available as a set of PowerShell commands.
The interface exists to make GENESIS configuration programmable. Anything that is stored in a configuration database—assets, historian tags, triggers, alarms, aliases, security accounts, and more—can be queried and changed through commands, which makes it well suited to bulk configuration, repeatable setup routines, integration with other tooling, and automated workflows driven by an AI agent. Because the commands run against the same configuration that you can edit in Workbench, they are governed by the same GENESIS security settings and produce the same result as a manual edit would.
Key Capabilities
-
Full configuration lifecycle
Every provider module exposes commands to create, read, update, and delete its entities, following a consistent verb-and-entity naming pattern. See Entities, Keys, and the Command Model.
-
A module for every provider
Assets, the Data Historian, triggers, alarms, aliases, security, and the other GENESIS subsystems each have a dedicated module. See the PowerShell Module Reference for the full catalog.
-
Built-in, discoverable help
Standard PowerShell discovery commands list the available modules and commands, and
Get-Helpdescribes every parameter of every command. See Discovering Commands and Accessing Help. -
Local and remote configuration
Commands run against the local server by default and can be retargeted to a remote Workbench host, so a single script can configure any reachable system.
-
Security enforcement
The interface honors GENESIS security. A user that is not permitted to perform a certain action in Workbench cannot perform it through PowerShell either.
-
Pipelining and scripting
Commands accept pipeline input and can be combined into
.ps1scripts, so multi-step configuration can be expressed as a single repeatable routine.
How It Fits Together
Each provider module is built on a generic configuration module that uses GENESIS repository implementations to manipulate configuration databases. The modules take advantage of FrameWorX client/server communication, which is what allows the same commands to target both local and remote configurations.
Because the commands write through the standard FrameWorX configuration path, the changes they make are committed to the configuration database immediately and become visible to the running system the same way Workbench edits do. See How Configuration Changes Synchronize for what to expect after a command runs.
Where to Go Next
The interface applies uniformly across all providers, so the same approach configures any part of the system. The task topics below are worked examples chosen to show the general pattern—creating a new entity and updating an existing one; they are not a complete list of things the interface is for.
-
Discovering Commands and Accessing Help—A way to find the modules and commands available on your system and read their help.
-
Creating an Asset with PowerShell—An example routine that builds a new entity and its child entities.
-
Finding and Updating a Trigger—An example of locating an existing configuration item and changing it.
-
Unpacking a Project with PowerShell—An example of deploying a Pack and Go package into an existing project.
-
PowerShell Module Reference and Command Naming Reference—A way to look up which commands belong to which module.