PowerShell Universal
DownloadsIssuesDiscordForums
v4
v4
  • About
  • What's New in v4?
  • Get Started
  • Additional Resources
  • Installation
    • Docker
    • Upgrading
    • Uninstall
  • Licensing
  • System Requirements
  • Supported Browsers
  • Cmdlet Help
  • API
    • About
    • Endpoints
    • Event Hubs
    • Security
    • Error Handling
    • Rate Limiting
  • Automation
    • About Automation
    • Scripts
      • Parameters
    • Jobs
    • Schedules
    • System Events
    • Terminals
    • Triggers
    • Queues
  • User Interfaces
    • About
    • Apps
    • Examples
    • Components
      • Pages
      • Dynamic Regions
      • Element
      • Error Boundary
      • HTML
      • Custom Components
        • Building Custom JavaScript Components
      • Data Display
        • Alert
        • Badge
        • Chip
        • Data Grid
        • Date and Time
        • Icon
        • List
        • Markdown
        • Table
        • Timeline
        • Tooltip
        • Tree View
        • Typography
      • Data Visualization
        • Charts
        • Image
        • Map
      • Feedback
        • Backdrop
        • Modal
        • Progress
        • Skeleton
      • Inputs
        • Autocomplete
        • Button
        • Checkbox
        • Code Editor
        • Date Picker
        • Editor
        • Floating Action Button
        • Form
        • Radio
        • Rating
        • Select
        • Slider
        • Switch
        • Textbox
        • Time Picker
        • Transfer List
        • Upload
      • Navigation
        • Drawer
        • Link
        • Menu
        • Stepper
        • Tabs
      • Layout
        • Grid Layout
        • Grid
        • Hidden
        • Stack
      • Utilities
        • Protect Section
        • Transitions
      • Surfaces
        • AppBar
        • Card
        • Paper
        • Expansion Panel
    • Custom Variable Scopes
    • Interaction
    • Role Based Access
    • Scheduled Endpoints
    • Sessions
    • Themes
      • Cascading Style Sheets
      • Styles
  • Desktop
    • About Desktop Mode
    • File Associations
    • Hotkeys
    • Pages
    • Protocol Handlers
  • Platform
    • Cache
    • Computers
    • Health Checks
    • Middleware
    • Modules
    • Monitoring
    • Notifications
    • Plugins
    • Published Folders
    • Templates
    • Translations
    • User Sessions
    • Variables
  • Configuration
    • About
    • API
    • Command Line Options
    • Environments
    • Feature Flags
    • Git
    • Hosting
      • Azure
      • High Availability
      • IIS
      • Reverse Proxy
    • Login Page
    • Management API
    • Persistence
    • App Settings
    • Security
      • Access Controls
      • App Tokens
      • Client Certificate
      • OpenID Connect
      • PowerShell Protect
      • SAML2
      • WS-Federation
    • Repository
    • Running as a Service Account
    • Best Practices
  • Development
    • Debugging Scripts
    • Editor
    • Hangfire
    • Logging
    • Profiling
    • Visual Studio Code Extension
  • Samples
    • APIs
      • Custom Status Codes
    • Apps
      • Active Directory Tree View
      • Export-CSV Download
      • Dynamic Select Dropdown
      • Textbox Length Validation
      • Tree View Font Size
      • SQL Data Grid
  • Changelogs
    • Changelog
    • Extension Changelog
Powered by GitBook

PowerShell Universal

  • Downloads
  • Pricing
  • Gallery

Community

  • Issues
  • Forums
  • Discord

Support

  • Portal
  • Knowledgebase

Copyright 2025 Ironman Software

On this page
  • What's Stored in the Repository
  • What's Not Stored in the Repository
  • Editing the Repository
  • Configuration Scripts
  • Authentication.ps1
  • Dashboards.ps1
  • Endpoints.ps1
  • Environments.ps1
  • Licenses.ps1
  • LoginPage.ps1
  • Initialize.ps1
  • Middleware.ps1
  • Pages
  • PublishedFolders.ps1
  • RateLimits.ps1
  • Roles.ps1
  • Schedules.ps1
  • Scripts.ps1
  • Settings.ps1
  • Tags.ps1
  • Triggers.ps1
  • Variables
  • Custom Configuration Script
  • Read-Only Configuration Sections

Was this helpful?

Edit on GitHub
Export as PDF
  1. Configuration

Repository

Information about the PowerShell Universal repository.

PreviousWS-FederationNextRunning as a Service Account

Last updated 1 year ago

Was this helpful?

The configuration data for PowerShell Universal is primarily stored within the repository. By default, the repository folder can be found in %ProgramData%\UniversalAutomation\Repository. You can adjust the location of the repository by editing the appsettings.json file.

The repository contains PowerShell scripts and XML files that are produced when using the PowerShell Universal admin console. The repository folder is also watched for changes so any change made on disk will cause the system to reload the file and reconfigure the platform. When using Git integration, the repository folder is what is synchronized with the git remote.

All configuration cmdlets are part of the module.

What's Stored in the Repository

Files stored in the repository are stored as plain text to allow for easy differencing with source control tools.

  • Authentication

  • Dashboards

  • Endpoints

  • Environments

  • Licenses

  • Login Pages

  • Pages

  • Published Folders

  • Rate Limits

  • Roles

  • Schedules

  • Scripts

  • Settings

  • Tags

  • Triggers

What's Not Stored in the Repository

These entities are stored within the PowerShell Universal database.

  • App Tokens

  • Identities

  • Job History

Editing the Repository

You can edit the repository files directly in the admin console by navigating to Settings \ Configurations. The editor allows you to create files and folders and edit any file within the repository directory.

Configuration Scripts

Authentication.ps1

Stored in .universal\authentication.ps1

Dashboards.ps1

Stored in .universal\dashboards.ps1

This script is responsible for registering PS1 files are dashboards with the system. Each command contains the meta-data for the dashboard including name, base URL, and environment.

Endpoints.ps1

Stored in .universal\endpoints.ps1

Environments.ps1

Stored in .universal\environments.ps1

This script is responsible for defining all the environments within PowerShell Universal.

Licenses.ps1

Stored in .universal\licenses.ps1

This script is responsible for defining the license used in PowerShell Universal.

Set-PSULicense -Key "<License></License>"

LoginPage.ps1

Stored in .universal\loginPage.ps1

Initialize.ps1

Stored in .universal\initialize.ps1

This script runs before any configuration is done within PowerShell Universal. The server is running but none of the services have started. This is useful for install modules or configuring secret vaults before discovery of those resources are started.

Middleware.ps1

Stored in .universal\initialize.ps1

Allows for customization of the HTTP requests in PowerShell Universal.

Pages

Stored in the pages folder.

This folder contains the page XML files. These are not intended to be edited manually and should be edited with the page designer.

PublishedFolders.ps1

Stored in .universal\publishedFolders.ps1

RateLimits.ps1

Stored in .universal\rateLimits.ps1

Roles.ps1

Stored in .universal\roles.ps1

Schedules.ps1

Stored in .universal\schedules.ps1

Scripts.ps1

Stored in .universal\scripts.ps1

Settings.ps1

Stored in .universal\settings.ps1

Tags.ps1

Stored in .universal\tags.ps1

This script is responsible for configuring tags.

Triggers.ps1

Stored in .universal\triggers.ps1

Variables

Stored in .universal\variables.ps1

This script is responsible for configuring variables.

Custom Configuration Script

A custom configuration script can be executed within the configuration process. The path to the configuration script can be defined in appsettings.json or as an environment variable.

appsettings.json
"Data": {
    "ConfigurationScript": "customScript.ps1"
}
Environment Variable
$Env:Data__ConfigurationScript = "customScript.ps1"

You can chose to return items such as endpoints, scripts or dashboards from the script. Additionally, you can use this script to configure resources like modules and secret vaults before the system is started. The custom configuration script is run before any other configuration scripts.

Read-Only Configuration Sections

Read-Only sections allow you to include script in your configuration files that will not be touched by changes in the admin console. This allows you to run additional logic, generate resources dynamically and create classes for use in OpenAPI schemas.

The PSUHeader region is placed at the top of your script. PSUFooter is placed at the bottom.

#region PSUHeader 

1..100 | ForEach-Object {
    New-PSUEndpoint -Url "/endpoint/$_" -Endpoint {

    }
}

#endregion

New-PSUEndpoint -Url "/user" -Endpoint {

}

#region PSUFooter
#endregion

This script is responsible for configuring f. If forms authentication is not being used, this file is ignored.

You can use the cmdlet in this file.

You can use the cmdlet in this file.

This script is responsible for defining all the within the PowerShell Universal instance.

You can use the cmdlet in this file.

You can use the cmdlet in this file.

You can use the cmdlet in this file.

This script is responsible for configuring a custom .

You can use the and in this file.

This script is responsible for configuring .

You can use the cmdlet in this file.

This script is responsible for configuring .

You can use the cmdlet in this file.

This script is responsible for configuring .

You can use the cmdlet in this file.

This script is responsible for configuring .

You can use the cmdlet in this file.

This script contains the meta-data for . Actual scripts can be stored anywhere. The path that is included is relative to the repository. Full path names are also allowed.

You can use the cmdlet in this file.

This script is responsible for configuring system .

You can use the cmdlet in this file.

You can use the cmdlet in this file.

This script is responsible for configuring .

You can use the cmdlet in this file.

You can use the cmdlet in this file.

Universal
Set-PSUAuthentication
New-PSUDashboard
API endpoints
New-PSUEndpoint
New-PSUEnvironment
Set-PSULicense
login page
New-PSULoginpage
New-PSULoginPageLink
published folders
New-PSUPublishedFolder
rate limits
New-PSURateLimit
roles
New-PSURole
schedules
New-PSUSchedule
scripts
New-PSUScript
settings
Set-PSUSetting
New-PSUTag
triggers
New-PSUTrigger
New-PSUVariable
orms authentication