One very simple way of extending PowerShell commands are scripts. To turn a script into a command, pick a folder and store the PowerShell script in this folder. The name of your script will later turn into a command name.
For example, take the script below and save it with name “New-Password” in a folder:
$CapitalLetter = 4 $Numeric = 1 $LowerLetter = 3 $Special = 2 $characters = & { 'ABCDEFGHKLMNPRSTUVWXYZ' -as [char[]] | Get-Random -Count $CapitalLetter '23456789'.ToCharArray() | Get-Random -Count $Numeric 'abcdefghkmnprstuvwxyz'.ToCharArray() | Get-Random -Count $LowerLetter '§$%&?=#*+-'.ToCharArray() | Get-Random -Count $Special } | Sort-Object -Property { Get-Random } $characters -join ''
The script produces a complex random password, and you can control the composition with the variables at top.
To use the script as a new command, make sure PowerShell includes the folder where you saved the script in its search for command. Let’s assume you store your scripts in a folder named “c:\myPsCommands”. Then running the code below will add the folder to the command search path:
$env:path += ";c:\myPsCommands"
Once you make this adjustment, you can now run your script simply by entering the “command” name New-Password. Essentially, the script name turns into an executable command name.