PowerShell Universal
DownloadsIssuesDiscordForums
v5
v5
  • ❓About
  • πŸ†•What's New in v5?
  • ⏯️Get Started
  • πŸ“ΊVideo Library
  • πŸ“šAdditional Resources
  • ⬇️Installation
    • Docker
    • Upgrade
    • Uninstall
    • Downgrade
    • Migrate and Restore
  • πŸ”‘Licensing
  • πŸ“ŠSystem Requirements
  • 🌐Supported Browsers
  • Cmdlet Help
  • πŸ”ŒAPI
    • About
    • Endpoints
    • OpenAPI
    • Event Hubs
    • Security
    • Error Handling
    • Rate Limiting
  • πŸ€–Automation
    • About Automation
    • Scripts
      • Parameters
    • Jobs
    • Schedules
    • Terminals
    • Tests
    • Triggers
  • πŸ“ŠApps
    • About
    • Apps
    • Components
      • Pages
      • 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
        • Dynamic Regions
        • Element
        • Error Boundary
        • Protect Section
        • Transitions
        • HTML
      • Surfaces
        • AppBar
        • Card
        • Paper
        • Expansion Panel
      • Custom Components
        • Building Custom JavaScript Components
    • Custom Variable Scopes
    • Interaction
    • Role Based Access
    • Scheduled Endpoints
    • Sessions
    • Static Apps
    • Themes
      • Colors
      • Cascading Style Sheets
      • Styles
  • 🌐Portal
    • About the Universal Portal
    • Portal Pages
    • Portal Widgets
      • Syntax
      • Conditions
      • Dynamic
      • Forms
      • Properties
      • Services
      • Tables
  • πŸ—οΈPlatform
    • Cache
    • Computers
    • Health Checks
    • Gallery
    • Middleware
    • Modules
    • Monitoring
    • Notifications
    • Plugins
    • Published Folders
    • Tags
    • Telemetry
    • Translations
    • User Sessions
    • Variables
  • πŸ”’Security
    • About
    • Local Accounts
    • Forms Authentication
    • Authorization
    • App Tokens
    • Enterprise Security
      • Client Certificate
      • OpenID Connect
      • SAML2
      • WS-Federation
      • Windows SSO
      • Permissions
  • βš™οΈConfiguration
    • Agent
    • App Settings
    • Best Practices
    • Branding
    • Command Line Options
    • Deployments
    • Environments
    • Feature Flags
    • Git
    • Hosting
      • Azure
      • High Availability
      • IIS
      • Reverse Proxy
    • Management API
    • Module
    • Persistence
    • psu Command Line Tool
    • Repository
    • Running as a Service Account
  • πŸ‘©β€πŸ’»Development
    • Debugging Scripts
    • Editor
    • Hangfire
    • Logging
    • Profiling
    • Visual Studio Code Extension
  • Changelogs
    • Changelog
    • Extension Changelog
    • Roadmap
    • CVEs
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
  • Branding.ps1
  • Dashboards.ps1
  • Endpoints.ps1
  • Environments.ps1
  • healthChecks.ps1
  • Licenses.ps1
  • Initialize.ps1
  • Middleware.ps1
  • PublishedFolders.ps1
  • RateLimits.ps1
  • Roles.ps1
  • Schedules.ps1
  • Scripts.ps1
  • Settings.ps1
  • Tags.ps1
  • Triggers.ps1
  • Variables.ps1
  • Vaults.ps1
  • Templates
  • .psuignore
  • Read-Only Configuration Sections

Was this helpful?

Edit on GitHub
Export as PDF
  1. Configuration

Repository

Information about the PowerShell Universal repository.

Previouspsu Command Line ToolNextRunning as a Service Account

Last updated 10 days 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

  • Apps

  • Endpoints

  • Environments

  • Licenses

  • Login Pages

  • Pages

  • Published Folders

  • Rate Limits

  • Roles

  • Schedules

  • Scripts

  • Settings

  • Tags

  • Triggers

  • Vaults

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 \ Files. 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

Branding.ps1

Stored in .universal\branding.ps1

This script is responsible for configuring branding settings.

You can use the New-PSUBranding cmdlet in this file.

Dashboards.ps1

Stored in .universal\dashboards.ps1

This script is responsible for registering PS1 files are apps within the system. Each command contains the meta-data for the app 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.

healthChecks.ps1

Stored in .universal\healthChecks.ps1

This script is responsible for defining Health Checks 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>"

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\middleware.ps1

Allows for customization of the HTTP requests in PowerShell Universal.

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.ps1

Stored in .universal\variables.ps1

Vaults.ps1

Stored in .universal\vaults.ps1

Templates

Using the Templates folder within the Repository, you can create a selection of item templates for commonly used features in PowerShell Universal. This includes apps, app pages, scripts and endpoints.

PS1 files in the following folders will be provided as templates in the admin console.

  • Templates \ App

  • Templates \ AppPage

  • Templates \ Endpoint

  • Templates \ Script

.psuignore

The .psuignorefile can be used to exclude certain files or patterns from the file system watcher in PowerShell Universal. This is useful when saving files like logs to the repository directory. The format of the file should be a single regular expression per line. If the regular expression matches a path, the configuration system will ignore it.

logs.*
.git.*

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 . 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.

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 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.

This script is responsible for configuring .

You can use the cmdlet in this file.

This script is responsible for configuring .

βš™οΈ
Universal
Set-PSUAuthentication
New-PSUApp
API endpoints
New-PSUEndpoint
New-PSUEnvironment
New-PSUHealthCheck
Set-PSULicense
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
variables
New-PSUVariable
forms authentication
Script Template
vaults