An open API service indexing awesome lists of open source software.

https://github.com/r8vnhill/pwsh-fun

Because PowerShell can be fun (at least that's what I tell myself)
https://github.com/r8vnhill/pwsh-fun

powershell

Last synced: about 1 year ago
JSON representation

Because PowerShell can be fun (at least that's what I tell myself)

Awesome Lists containing this project

README

          

# Pwsh-Fun (or the Functions I Use)

![http://creativecommons.org/licenses/by/4.0/](https://i.creativecommons.org/l/by/4.0/88x31.png)

This work is licensed under a
[Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/)

Because PowerShell can be fun (at least that's what I tell myself).
Here are some utility functions that can help you to use the Power of your Shell (I can't believe I
seriously wrote that).

## Installation

To use the modules from *Pwsh-Fun* you need to include the code from this repository in your
*PowerShell Modules* (or simply *Modules*) path.

Let's first start by cloning the repository into an empty directory using your favorite cloning
method.
I'd recommend using *GitHub CLI*:

```bash
gh repo clone r8vnhill/pwsh-fun
```

Now, with the repository cloned, we'll move the contents from the repo to the *Modules* path, in
*PowerShell*:

```powershell
$PS_PROFILE_DIRECTORY = $(Get-Item $PROFILE).Directory.FullName
if (-not $(Test-Path $PS_PROFILE_DIRECTORY\Modules)) {
New-Item -ItemType Directory -Force -Path $PS_PROFILE_DIRECTORY\Modules
}
Get-ChildItem -Path .\pwsh-fun\* -Recurse -Force `
| Move-Item -Destination "$PS_PROFILE_DIRECTORY\Modules\"
Remove-Item -Path .\pwsh-fun -Force -Recurse
```

This will make the modules accessible to *PowerShell*, you must start a new console to see the
changes.

## Updating the Modules

Since we copied all the repository's contents in the previous step, the *Modules* directory is now
the root of the repository.
The repo is configured to only track the directories which name starts with ``Ravenhill.``, so every
change you do on other files or directories will be ignored by *Git*, this will allow you to update
the modules easily by simply doing ``git pull`` on the *Modules* root.

## Modules Documentation

This repository is organized as multiple directories (*Modules*) grouping the commands according
to their functionality.
Each module has it's own ``README.md`` file explaining the contained commands.