en-US/about_PSProfile.help.txt
TOPIC
about_PSProfile SHORT DESCRIPTION An overview of PSProfile module and its various components and concepts. LONG DESCRIPTION As their journey with PowerShell continues, users will often find themselves adding various items to their PowerShell profile to perform common initialization tasks like importing modules, setting environment variables, adding command aliases, ensuring various settings like PSReadline settings are present, set your PowerShell prompt, etc. PSProfile was born from this desire to constantly tinker with your profile and is designed to handle almost anything you would typically have in your PowerShell profile script, all wrapped up in an easily transportable PowerShell data file (PSD1) thanks to PoshCode's Configuration module. PSProfile is designed so that the only item in your PowerShell profile script is simply `Import-Module PSProfile`. It supports Windows, Linux and macOS out of the box. CONCEPTS PSProfile contains various concepts by way of properties on the PSProfile PowerShell class. To view the available help topics for each concept, run: Get-Help about_PSProfile* HISTORY I do a LOT of profile customization, including loading in various custom functions I wrote, setting certain variables, invoking external profile scripts, etc, to make everyday tasks more efficient. I checked out the PowerShell Gallery for other Profile management modules, but none seemed to satisfy all of the goals I had: 1. Minimize my profile script to be as small as I can be. * PSProfile only needs one line: `Import-Module PSProfile`. 2. Enable easy storage and recall of secrets, typically my own PSCredential object, for programmatic use. This would eliminate the use of BetterCredentials (overriding `Get-Credential` sometimes yielded unwanted results) and my own `MyConfig` module that I was using locally. * PSProfile includes a Vault to store PSCredential objects and named SecureStrings, e.g. API keys. Saving personal credentials? `Set-PSProfileSecret (Get-Credential) -Save`. Recalling later? `Invoke-Command -Credential (Get-MyCreds)` 3. Enable common prompt storage and quick prompt switching. * PSProfile has the ability to store prompts in its configuration with easy-to-remember names. Need to switch to your Demo prompt? `Switch-Prompt Demo` 4. Be extensible. * PSProfile includes Plugin support. A PSProfile Plugin can be a simple script or a full module. You can also include an `ArgumentList` to pass to the script/module during invocation. 5. Maintain my PowerShell environment's desired state. * PSProfile includes additional configuration options to specify modules you'd like to ensure are installed or are imported during profile load, scripts to invoke, Symbolic Links to create, etc. |