├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── CHANGELOG.md ├── LICENSE ├── README.md ├── help ├── Add-UAScriptTag.md ├── Connect-UAServer.md ├── Get-UAAppToken.md ├── Get-UAComputer.md ├── Get-UAFolder.md ├── Get-UAGitStatus.md ├── Get-UAIdentity.md ├── Get-UAJob.md ├── Get-UAJobFeedback.md ├── Get-UAJobOutput.md ├── Get-UAJobParameter.md ├── Get-UAJobPipelineOutput.md ├── Get-UALicense.md ├── Get-UAPowerShellVersion.md ├── Get-UARole.md ├── Get-UASchedule.md ├── Get-UAScript.md ├── Get-UAScriptHistory.md ├── Get-UAScriptParameter.md ├── Get-UAScriptTag.md ├── Get-UASecretManager.md ├── Get-UASetting.md ├── Get-UAStats.md ├── Get-UATag.md ├── Get-UAVariable.md ├── Grant-UAAppToken.md ├── Invoke-UAScript.md ├── New-UACredential.md ├── New-UAFolder.md ├── New-UAIdentity.md ├── New-UAPowerShellVersion.md ├── New-UASchedule.md ├── New-UAScript.md ├── New-UASecretManager.md ├── New-UATag.md ├── New-UAVariable.md ├── Out-UAPipeline.md ├── Remove-UAPowerShellVersion.md ├── Remove-UASchedule.md ├── Remove-UAScript.md ├── Remove-UAScriptTag.md ├── Remove-UATag.md ├── Remove-UAVariable.md ├── Rename-UAScript.md ├── Revoke-UAAppToken.md ├── Set-UAIdentity.md ├── Set-UAJobFeedback.md ├── Set-UALicense.md ├── Set-UAPowerShellVersion.md ├── Set-UAScript.md ├── Set-UASetting.md ├── Set-UATag.md ├── Set-UAVariable.md ├── Start-UAServer.md ├── Stop-UAJob.md ├── Stop-UAServer.md └── Wait-UAJob.md └── logo.png /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Report a Bug for Universal Automation 4 | labels: bug 5 | --- 6 | 7 | # Please file issues on the [PowerShell Universal](https://github.com/ironmansoftware/powershell-universal/issues) issue tracker. 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Enhancement Request 3 | about: Suggest an Enhancement for Universal Automation 4 | labels: enhancement 5 | --- 6 | 7 | # Please file issues on the [PowerShell Universal](https://github.com/ironmansoftware/powershell-universal/issues) issue tracker. 8 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 1.3.2 - Unreleased 2 | 3 | ## Added 4 | 5 | - [Core] Added support for storing objects as variables 6 | - [Core] Added support for returning only the value of a variable using Get-UAVariable 7 | 8 | ## Changed 9 | 10 | - [Core] Fixed an issue where Invoke-UAScript would throw an exception when called without a credential 11 | - [Core] Fixed an issue where invoking a script could result in double serialization of the input parameters. 12 | - [UI] Fixed an issue where you would edit a variable and it would lose it's type. 13 | - [UI] Fixed an issue where variables with long names or values would make the UI unusable. 14 | 15 | # 1.3.1 - 4/17/2020 16 | 17 | ## Changed 18 | 19 | - [Core/UI] Fixed an issue where the UA dashboard would fail to load 20 | - [Core] Fixed an issue where grooming would only groom jobs that were recent. 21 | 22 | # 1.3.0 - 4/16/2020 23 | 24 | ## Added 25 | 26 | - [Core/UI] Added support for presenting additional controls based on the param block of a script. 27 | 28 | ## Changed 29 | 30 | - [UI] Changed the location and behavior of the navigation bar. 31 | 32 | # 1.2.1 - 4/7/2020 33 | 34 | ## Changed 35 | 36 | - [Core] Fixed an issue where running a job with alternate credentials when hosted as a Windows Service would fail 37 | - [UI] Fixed an issue where the UD dashboard would not accept a UD license and would not display information about licensing. 38 | 39 | # 1.2.0 - 4/6/2020 40 | 41 | ## Added 42 | 43 | - [UI] Added a checkbox to take you to a script after creating it 44 | - [Core\UI] Added support for Secret Management 45 | - [Core\UI] Added PowerShell Version option to schedules 46 | - [UI] Added the ability to edit variablee 47 | - [UI] Added the ability to sort jobs by status, start time and end time 48 | 49 | ## Changed 50 | 51 | - [UI] Fixed an issue where the UI would go blank if the script text was completely deleted 52 | - [UI] The default comment in the editor of a new script is the name of script 53 | - [Core] Greatly improved the performance of viewing pipeline output 54 | - [Core] Jobs are now run with -NoProfile set 55 | 56 | # 1.1.1 - 3/19/2020 57 | 58 | ## Added 59 | 60 | - [Core\UI] Added per-script grooming setting. 61 | - [UI] Added Jobs tab to the script page 62 | 63 | ## Changed 64 | 65 | - [UI] The jobs tab now pages correctly to improve performance 66 | - [UI] Improved the performance of the job page. 67 | - [UI] Fixed an issue where hosting in IIS would not authenticate properly with Windows auth 68 | - [Core] Improved the performance of the storage of job output logs 69 | 70 | # 1.1.0 - 3/16/2020 71 | 72 | ## Added 73 | 74 | - [UI] Added a link to the scripts page from the jobs page 75 | - [Core] Added One Time scheduling 76 | - [UI] Added a New Script button to the scripts page 77 | 78 | ## Changed 79 | 80 | - [UI] - The web dashboard is now based on the desktop app 81 | - [UI] Edit button now allows for editing in the UI 82 | - [Core] Fixed the PowerShell resolver so it detects PowerShell versions correctly. 83 | - [UI] Improved the pipeline output table 84 | - [Core] Fixed issue with starting UA Server on Mac OSX 85 | - [Core] Fixed issue where grooming could remove active jobs 86 | 87 | # 1.0.1 - 2/27/2020 88 | 89 | ## Added 90 | 91 | - [Module] Added grooming job to remove jobs and output that are 30+ days old 92 | - [Desktop] Added the ability to manage PowerShell Versions 93 | 94 | ## Changed 95 | 96 | - [Module] Fixed but with ErrorAction parameter on Set-UAScript 97 | - [Module] /api/v1/script now accepts query string parameters for script parameters 98 | - [Desktop] Provided a better error message when UA is alive but not accessible because authentication is enabled. 99 | - [Desktop] UA Desktop is now code signed correctly. 100 | 101 | # 1.0.0 - 2/24/2020 102 | 103 | ## Added 104 | 105 | - Added -ApiUrl for Start-UAServer so UA works correctly behind a reverse proxy like IIS 106 | - Added -ErrorAction to Set-UAScript 107 | 108 | ## Changed 109 | 110 | - Fixed issue where a mismatch between the $User variable and the current Identity would cause an exception 111 | - InProcess parameter of Start-UAServer now blocks so it properly supports IIS. 112 | - Fixed a crash that would happen after running a job. 113 | - Fixed issue with how AppToken was being set for jobs. 114 | - Fixed an issue where deleting a script wouldn't delete associated schedules 115 | - If the API connection fails within a job, it will not cause the job to fail. 116 | 117 | # 0.0.3-beta7 - 2/6/2020 118 | 119 | ## Added 120 | 121 | - Added -RepositoryPath to Start-UAServer so you can specify where the local Git repo is stored. 122 | - Added support for authentication on the Swagger page 123 | 124 | ## Changed 125 | 126 | - UA will now work in the ISE 127 | - Stop-UAServer now performs a graceful shutdown by default. Using the -Force parameter forces the process to terminate. 128 | - Fixed an issue where an dashboard without authentication enabled would be in read-only mode 129 | 130 | # 0.0.3-beta6 - 1-31-2020 131 | 132 | ## Added 133 | 134 | - Added Enable-UAAuthentication to make it easier to enable UA authentication. 135 | 136 | ## Changed 137 | 138 | - Fixed an issue where restarting the server would fail to return a system app token and you could no longer use the UA dashboard (401 error) 139 | - Fixed an issue where scripts' tags would not be sync'd to git - https://github.com/ironmansoftware/universal-automation/issues/67 140 | - Fixed issue with roles not being assigned 141 | - Fixed issue with session AppToken not being used in the dashboard 142 | 143 | # 0.0.3-beta5 - 1-22-2020 144 | 145 | ## Added 146 | 147 | - Added UI controls for disabling manual invocation of scripts 148 | - Tags are now stored in the git repo under `.ua/tags.psd1` 149 | 150 | ## Changed 151 | 152 | - Fixed issue where a $null on the pipeline would cause a script to file - https://github.com/ironmansoftware/universal-automation/issues/74 153 | - Fixed an issue where you couldn't cancel a script requesting feedback - https://github.com/ironmansoftware/universal-automation/issues/78 154 | - No trial license required - https://ironmansoftware.com/simplifying-product-trial-licensing/ 155 | 156 | # 0.0.3-beta4 - 1-18-2020 157 | 158 | ## Added 159 | 160 | - Added built-in varaibles for $UAScript, $UAJob, and $UASchedule. https://github.com/ironmansoftware/universal-automation/issues/64 161 | - Added -DisableManualInvocation to New-UAScript to prevent jobs from running ad-hoc - https://github.com/ironmansoftware/universal-automation/issues/59 162 | 163 | ## Changed 164 | 165 | - Error output now lists the script stack trace. 166 | - Fixed an issue with not being able to save PowerShell Version settings - https://github.com/ironmansoftware/universal-automation/issues/71 167 | - Fixed sorting of job tables (clicking now sorts correctly) 168 | - Fixed issue where schedules would be lost when editing the script content in the dashboard - https://github.com/ironmansoftware/universal-automation/issues/66 169 | 170 | # 0.0.3-beta3 - 1-15-2020 171 | 172 | ## Changed 173 | 174 | - Get-UAJob now supports paging, server-side filtering and sorting 175 | - UA dashboard active and historical job grids now use server-side processing 176 | - Fixing an issue where an AppToken would be generated when executing a script even when AppTokens aren't being used. 177 | - Fixed issue where license activation would run every time the server was started 178 | - Fixed issue with dot sourcing files (https://github.com/ironmansoftware/universal-automation/issues/73) 179 | - Fixed sorting of the ID column in the job grid (https://github.com/ironmansoftware/universal-automation/issues/46) 180 | 181 | # 0.0.3-beta2 - 1-14-2020 182 | 183 | ## Changed 184 | 185 | - Removed the diagrams component from UniversalAutomation.Dashboard so unlicensed UD dashboards will work. 186 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Ironman Software, LLC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Universal Automation 2 | 3 | ## The PowerShell Automation Framework 4 | 5 | Universal Automation is the automation framework for PowerShell. You can execute jobs, schedule them to run automatically, respond to job feedback and view job history and statistics in a custom built dashboard. 6 | 7 | This is the issue tracker for [Universal Automation](https://ironmansoftware.com/universal-automation). 8 | 9 | ## Installation 10 | 11 | The Universal Automation module contains the UA server and cmdlets. 12 | 13 | ``` 14 | Install-Module UniversalAutomation -AllowPrerelease 15 | ``` 16 | 17 | The Universal Automation Dashboard module contains the UA dashboard. 18 | 19 | ``` 20 | Install-Module UniversalAutomation.Dashboard -AllowPrerelease 21 | ``` 22 | 23 | ## Nightly Builds 24 | 25 | You can download nightly Universal Automation builds [here](https://universalautomation.z19.web.core.windows.net/). 26 | 27 | ## Licensing 28 | 29 | Universal Automation requires a license. It is licensed per agent. You will need to purchase a license from IronmanSoftware.com. The Universal Automation Dashboard requires a Universal Dashboard Premium or Enterprise license. 30 | 31 | ## Filing Issues 32 | 33 | Please use the item templates provided to file isues for UA. We need to know the version of UA, UD, and PowerShell when issues are submitted. UA offers logging so including a relevant log is important. 34 | 35 | -------------------------------------------------------------------------------- /help/Add-UAScriptTag.md: -------------------------------------------------------------------------------- 1 | --- 2 | external help file: UniversalAutomation.Cmdlets.dll-Help.xml 3 | Module Name: UniversalAutomation 4 | online version: 5 | schema: 2.0.0 6 | --- 7 | 8 | # Add-UAScriptTag 9 | 10 | ## SYNOPSIS 11 | 12 | Assigns a tag to a script. 13 | 14 | ## SYNTAX 15 | 16 | ``` 17 | Add-UAScriptTag [-Script]