NewRandomPassword.psd1

#
# Module manifest for module 'NewRandomPassword'
#
# Generated by: Mike Garvey
#
# Generated on: 8/25/19
#

@{

# Script module or binary module file associated with this manifest.
RootModule = 'NewRandomPassword.psm1'

# Version number of this module.
ModuleVersion = '2.0.0'

# Supported PSEditions
CompatiblePSEditions = 'Core', 'Desktop'

# ID used to uniquely identify this module
GUID = 'b312ad21-5c60-48c1-84db-a91d73a69939'

# Author of this module
Author = 'Mike Garvey'

# Company or vendor of this module
CompanyName = 'Yevrag35, LLC.'

# Copyright statement for this module
Copyright = 'Copyright (c) 2019-2026 Yevrag35, LLC. All rights reserved.'

# Description of the functionality provided by this module
Description = 'Creates 1 or more randomly-generated strings of either static or variable length.'

# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '5.1'

# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
DotNetFrameworkVersion = '4.8'

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = 'New-RandomPassword'

# Variables to export from this module
VariablesToExport = @()

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = 'rpas'

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
FileList = @(
    'Core\MG.Passwords.dll',
    'Core\MG.Passwords.Shell.dll',
    'Desk\MG.Passwords.dll',
    'Desk\MG.Passwords.Shell.dll',
    'Desk\System.Buffers.dll',
    'Desk\System.Memory.dll',
    'Desk\System.Numerics.Vectors.dll',
    'Desk\System.Runtime.CompilerServices.Unsafe.dll',
    'en-US\MG.Passwords.Shell.dll-Help.xml',
    'LICENSE.txt',
    'NewRandomPassword.psd1',
    'NewRandomPassword.psm1',
    'THIRD-PARTY-NOTICES.txt'
)

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = 'new', 'random', 'password', 'generate', 'generator', 'multiple', 'static',
               'variable', 'dynamic', 'first', 'character', 'iteration', 'string', 'output',
               'host', 'passwords', 'option', 'specify', 'min', 'minimum', 'max', 'maximum',
               'count', 'length'

        # A URL to the license for this module.
        LicenseUri = 'https://raw.githubusercontent.com/Yevrag35/NewRandomPassword/master/LICENSE'

        # A URL to the main website for this project.
        ProjectUri = 'https://github.com/Yevrag35/NewRandomPassword'

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        ReleaseNotes = @'
2.0.0 runs on Windows PowerShell 5.1 and on PowerShell 7.6 or later. In PowerShell 7.5 or earlier, the import fails with an error that says so.

2.0.0 is released under the MIT License, in place of 1.2.0's GNU General Public License v3.0.

Every parameter, alias, position, and parameter set of 1.2.0 stays, and so does every default but the character groups. What changes from 1.2.0:

- Passwords are built from every letter and digit by default, and the same six symbols, 68 characters in all. 1.2.0 left out l, o, D, I, O, 0, and 1. To leave out characters that are easy to mistake for others, use -CharacterSet NoLookAlikes, Symbols.
- -InputStrings takes ABCDEFGHJKLMNPQRSTUVWXYZ, the uppercase letters except I and O, in place of 1.2.0's ABCEFGHJKLMNPQRSTUVWXYZ, which left out D by mistake, so a script that passes 1.2.0's string fails when PowerShell binds it. It also takes every lowercase letter, abcdefghijklmnopqrstuvwxyz, and every uppercase letter, ABCDEFGHIJKLMNOPQRSTUVWXYZ.
- -CharacterSet is new. It builds passwords from groups that you name, in place of the default groups: Lowercase, Uppercase, Digits, and Symbols, in any combination, as in -CharacterSet Lowercase, Digits. NoLookAlikes stands for the lowercase letters, the uppercase letters, and the digits without l, o, I, O, 0, and 1, and it combines with Symbols. -CharacterSet can't be used with -InputStrings, so Get-Command shows a twin of each of 1.2.0's two parameter sets, in which -CharacterSet takes the place of -InputStrings.
- -FirstCharacter always comes first. 1.2.0 put it last in about half the passwords.
- With -MinimumLength and -MaximumLength, each password gets a random length of its own. 1.2.0 gave every password of a call the same length.
- A password with fewer characters than there are groups holds characters from a random choice of the groups. 1.2.0 always took the first groups, so a password of 2 or 3 characters never held a symbol.
- A repeated character doesn't count twice. A character that a group lists twice is as likely as the group's other characters, and the characters that fill a password after one from each group are drawn from the distinct characters of all the groups. 1.2.0 drew a repeated character twice as often.
- -ExtraCharacters takes a string, a char, a char[], or a collection of them, such as the lines that Get-Content outputs, with one group per element. 1.2.0 refused a single line, a char, or a collection other than an array, and dropped every element that wasn't a string. Get-Command shows the type of -ExtraCharacters as String[] instead of Object.
- -FirstCharacter 5 starts each password with the digit 5. 1.2.0 read a bare number as a character code, so 5 was a control character, and 65, which was A, is now an error.
- An argument that can't make a password fails when PowerShell binds it, with an error that names the parameter: an empty group, a control character, a character that takes a surrogate pair, such as an emoji, or a value of another type for -ExtraCharacters.
- -OnlyUseExtraCharacters without -ExtraCharacters is an error. 1.2.0 ignored the switch.
- A minimum length greater than the maximum, and arguments that leave no characters to draw from, end the command with an error of their own. 1.2.0 threw raw exceptions, such as DivideByZeroException.
- -PasswordLength and -MaximumLength take at most 1,048,576 characters, and -MinimumLength at most 1,048,575. 1.2.0 accepted lengths that no string can hold.
'@


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module. Set it only to a folder of updatable help: any other URL, such as an issues page, makes Update-Help fail.
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}