Fully automated CI/CD solution for (not just) PowerShell content management in your Active Directory environment
Repository contains necessary files + installer that will create your own fully automated company CD/CD like repository, which can be used to manage the whole lifecycle of the (primarily) PowerShell content. So the only thing you will have to worry about now on, is code writing :-) Everything else, like code backups, validations, auditing, signing, modules generation, content distribution etc will be automated.
- To get some quick insight, watch this short introduction video or super short examples of new function creation, new 'global' variable creation, script validations. For more examples and explanation of how this works watch quite long but detailed video (examples starts at 10:12). Případně českou verzi videa.
-
!!! To test this solution in safe manner in under 5 minutes, check this out !!!
-
To set this up in your environment please follow these installation instructions.
-
In case you like this solution, found any bug or have improvement suggestion, please contact me at ondrejsebela'at'gmail.com.
-
unifies PowerShell environment across whole Active Directory
- same PowerShell modules, functions and variables everywhere (but can be customized by editing modulesConfig.ps1)
- (optional) global Powershell profile to unify repository administrators experience
- shows how many commits is this console behind, simplifies prompt, omits commands with plaintext password from history etc
-
literally all scripting content from whole Active Directory environment can be stored and managed from one place
- thanks to possibility to distribute any content to any location
-
based on GIT
- version control system
- auditing (who changed what and when)
- ...
-
extremely simplifies PowerShell content management by automating
- code validation
- code formatting
- content distribution
- using: GIT hooks, PowerShell scripts, GPO and VSC editor Workspace settings
-
adheres to the principles of configuration as a code
-
written by Windows administrator for Windows administrators i.e.
- easy to use
- fully managed from Visual Studio Code editor
- GIT knowledge not needed
- Refresh-Console function for forcing synchronization of repository data on any client and importing such data to running Powershell console
- boost PowerShell adoption between admins, because of easy know-how/functions sharing
- customizable
- everything is written in Powershell so you can easily add/remove features
- idiot-proof :)
- won't let you commit change, that would break your environment
- script contain syntax errors
- warns against commiting change, that could break your environment (if changed object is used elsewhere)
- modification of parameters of the function (applies just for functions in scripts2module folder)
- modification of variable value (applies just for variables in Variables PS module)
- deletion of function or variable
- etc
- won't let you commit change, that would break your environment
- easy to use
-
no paid tools needed
-
last but not least
- automatic scheduled task creation (from XML definition), so ps1 script (modules that it depend on) and sched. task, that should run it, can be distributed together
- automatic script signing (if enabled)
-
check examples or watch short introduction video for getting better insight