PoshFunctions.psd1
@{ # Script module or binary module file associated with this manifest. RootModule = 'PoshFunctions.psm1' # Version number of this module. ModuleVersion = '2.2.1.6' # Supported PSEditions # CompatiblePSEditions = @() # ID used to uniquely identify this module GUID = '188504d6-d6ed-4ee3-92c4-7b426ed3d611' # Author of this module Author = 'Bill Riedy' # Company or vendor of this module CompanyName = '' # Copyright statement for this module Copyright = '(c) 2021 Bill Riedy. All rights reserved.' # Description of the functionality provided by this module Description = 'A curated collection of over 160 PowerShell functions. Many functions written by me. Others are attributed wherever possible.' # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '3.0' # 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 = '' # 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 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 = @( 'Compare-ObjectProperty', 'Compare-PSGalleryObject', 'Convert-HexToRGB', 'Convert-ObjectToHashtable', 'Convert-RGBToHex', 'Convert-ROT13', 'Convert-SecureStringToString', 'Convert-UserFlag', 'ConvertFrom-Base64', 'ConvertFrom-Binary', 'ConvertFrom-DateTime', 'ConvertFrom-FsRight', 'ConvertFrom-Hex', 'ConvertFrom-UrlEncode', 'ConvertFrom-UTC', 'ConvertFrom-Xml', 'ConvertTo-Base64', 'ConvertTo-Binary', 'ConvertTo-BinaryIPv4', 'ConvertTo-Bool', 'ConvertTo-DateTime', 'ConvertTo-DecimalIPv4', 'ConvertTo-DottedDecimalIPv4', 'ConvertTo-Hex', 'ConvertTo-OrderedDictionary', 'ConvertTo-UncPath', 'ConvertTo-UrlEncode', 'ConvertTo-UTC', 'Copy-Object', 'Eexit', 'Expand-IPv6', 'Expand-String', 'Expand-Tab', 'Export-CSVSortedColumn', 'FileSizeAbove', 'FileSizeBelow', 'Format-MacAddress', 'Format-RandomCase', 'Format-ReverseString', 'Format-SortedList', 'Format-TitleCase', 'Format-WrapText', 'Get-Address', 'Get-BashPath', 'Get-BinaryType', 'Get-ComputerSite', 'Get-ComputerUptime', 'Get-DiceRoll', 'Get-DNSHostEntryAsync', 'Get-DriveStat', 'Get-Enum', 'Get-ExecutableForFile', 'Get-FileEncoding', 'Get-FileName', 'Get-FileWithLeadingSpace', 'Get-Folder', 'Get-Font', 'Get-Fortune', 'Get-GeoCode', 'Get-InvalidFileCharacter', 'Get-IpRange', 'Get-LastDayInMonth', 'Get-LongName', 'Get-MachineType', 'Get-MacVendor', 'Get-Magic8Ball', 'Get-Md5Sum', 'Get-NetworkCredential', 'Get-NTFSPermission', 'Get-NtpDate', 'Get-Power', 'Get-PrintableAscii', 'Get-PrivateProfileComment', 'Get-PrivateProfileSection', 'Get-PrivateProfileSectionNames', 'Get-PrivateProfileString', 'Get-PSWho', 'Get-RandomDate', 'Get-RandomHexDigit', 'Get-RandomMacAddress', 'Get-RegExpandString', 'Get-RegistryValue', 'Get-Round', 'Get-SaveFile', 'Get-Shortcut', 'Get-ShortName', 'Get-SID', 'Get-SpecialFolder', 'Get-StaticProperty', 'Get-SubnetMaskIPv4', 'Get-TruncatedDate', 'Get-Type', 'Get-TypeAccelerator', 'Get-UrlContent', 'Get-WordCount', 'Get-WordList', 'grep', 'Invoke-Beep', 'Invoke-Speak', 'Join-Object', 'Lock-Workstation', 'Measure-Char', 'mklink', 'Move-ToRecycleBin', 'New-Credential', 'New-InputBox', 'New-Popup', 'New-QR', 'New-RandomPassword', 'New-Screenshot', 'New-Shortcut', 'Out-PDFToPrinter', 'Read-HostWithDefault', 'Remove-BlankOrComment', 'Remove-EmptyProperty', 'Remove-QuotesFromCsv', 'Remove-TeamsCache', 'Remove-Trailing', 'Reset-Desktop', 'Resolve-FQDN', 'Resolve-HostName', 'sed', 'Set-Capslock', 'Set-Display', 'Set-Numlock', 'Set-PrivateProfileComment', 'Set-PrivateProfileString', 'Set-Scrolllock', 'Set-Speaker', 'Set-Type', 'Set-WindowStyle', 'Show-AllColor', 'Show-Calendar', 'Show-Color', 'Show-ColorsWithBackground', 'Show-DaysOfWeek', 'Show-FileAttribute', 'Show-FsRight', 'Show-Month', 'Show-NamedColor', 'Show-Object', 'Show-Progress', 'Show-ShortDaysOfWeek', 'Show-ShortMonth', 'Show-SubnetMaskIPv4', 'Show-Timezone', 'Start-ADReplication', 'Start-RecordSession', 'Stop-RecordSession', 'Switch-Mute', 'Test-ConnectionAsync', 'Test-IsAdmin', 'Test-IsCapsLock', 'Test-IsDate', 'Test-IsFileLocked', 'Test-IsHexString', 'Test-IsNull', 'Test-IsNumeric', 'Test-IsNumLock', 'Test-IsScrollLock', 'Test-IsValidEmailAddress', 'Test-IsValidIPv4', 'Test-IsValidIPv6', 'Test-Network', 'Test-NtpDateVsNow', 'Test-Password', 'Test-Port', 'Union-Object', 'Update-ExplorerIcon', 'Write-StringArray', 'Write-TextMenu' ) # 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 = '*' # 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 = '*' AliasesToExport = @( 'Base64Decode', 'Base64Encode', 'Beep', 'ConvertTo-BinaryIP', 'ConvertTo-DecimalIP', 'ConvertTo-DottedDecimalIP', 'Fortune', 'Get-LastReboot', 'Get-SubnetMaskIP', 'Md5Sum', 'Parse-Bool', 'Recycle', 'ReverseString', 'Show-InvalidFileCharacter', 'Show-SpecialFolder', 'Show-SubnetMaskIP', 'Show-TypeAccelerator', 'Speak', 'Test-IsValidIP', 'Union', 'UrlDecode', 'UrlEncode', 'WrapText' ) # 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 = @() # 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 = @( 'base64', 'beep', 'binaryip', 'calendar', 'capslock', 'color-hex', 'color-rgb', 'color-show', 'computersite', 'computer-site', 'credential', 'date-random', 'datetime', 'date-truncate', 'days-week', 'decimalip', 'display', 'dns-async', 'dotteddecimalip', 'email-address', 'expand-string', 'expand-tab', 'exponentiation', 'file', 'file-encoding', 'file-invalidchar', 'folder', 'format', 'functions', 'gui', 'ini', 'inputbox', 'ip', 'iprange', 'isadmin', 'isdate', 'ishexstring', 'isnumeric', 'isvalidemail', 'isvalidip', 'library', 'macaddress', 'magic8ball', 'markdown', 'md5sum', 'msgbox', 'numlock', 'ping-async', 'popup', 'progress', 'random-date', 'registry', 'reverse-string', 'rot13', 'round', 'savefile', 'scrolllock', 'set-type', 'share-permission', 'share-stat', 'shortcut', 'sid', 'speak', 'subnetmask', 'system', 'timezone', 'urlencode', 'utc', 'wrap-text', 'xml' ) # A URL to the license for this module. LicenseUri = 'https://github.com/riedyw/PoshFunctions/blob/master/License.txt' # A URL to the main website for this project. ProjectUri = 'https://github.com/riedyw/PoshFunctions' # A URL to an icon representing this module. IconUri = 'https://github.com/riedyw/PoshFunctions/blob/master/PoshFunctions.png' # ReleaseNotes of this module ReleaseNotes = @' ### 2.2.1.6 * updated PoshFunctions.psd1 to explicitly enumerate AliasesToExport * tested all functions work properly in both PowerShell 5.1 and 7.1.2 * updated all *.ps* to pass Invoke-ScriptAnalyzer without throwing RuleViolation. The only one I could NOT fix is function Union-Object. If you wish this error to not affect you then I would suggest that when you import the module you include the -DisableNameChecking parameter * updated scripts to attempt to explicit and fully name all parameters and all functions and parameters match the case as found in official Microsoft documentation * made GitHub repository viewable to the public and updated PoshFunctions.psd1 to reflect the GitHub repository * added Convert-HexToRGB - accepts HEX strings with or without # prefix, has -IncludeInput parameter * added Convert-RGBToHex - can either accept RGB strings or explicitly specified -Red -Green -Blue parameters * added ConvertFrom-Binary * added ConvertFrom-Hex * added ConvertTo-Binary * added ConvertTo-Hex * added Format-TitleCase - which will capitalize the first letter of each word in a string. * added Get-Address - will get address given specified latitude and longitude coordinates. Requires active internet connection. External site is throttled so don't make too many calls in short period of time. * added Get-GeoCode - will get latitude and longitude coordinates for specified address. Requires active internet connection. External site is throttled so don't make too many calls in short period of time. * added Get-LastDayInMonth * added Get-LongName - get the longname of a passed shortname (8.3) of a file/folder. Will expand relatively named files to explicitly defined files '.\test.txt' to 'c:\temp\test.txt' * added Get-ShortName - get the shortname (8.3) of the passed file/folder. Will expand relatively named files to explicitly defined files '.\test.txt' to 'c:\temp\test.txt' * added New-RandomPassword - can specify minimum and maximum password lengths, whether to avoid similar characters or limit the alphabetic characters to short English words * added Out-PrinterPDF - prints specified PDF files to the current default printer * added Test-Network - wrapper for Get-IpRange, Test-ConnectionAsync, and Get-DNSHostEntryAsync to give summary table of ip addresses that either resolve to a host name or respond to a ping * added Test-Password - can either check against local computer or domain. can pass either credential or username / password (as securestring) * removed Convert-ARGBToHex * removed Convert-HexToARGB * removed ConvertTo-Markdown * removed ConvertTo-PlainText * removed ConvertTo-SecureText * removed Get-OperatingSystemSKU * removed Get-PoshFunctionsPrivateData * removed Get-Share * removed Get-SharePermission * removed Get-ShareStat * removed Help * removed Remove-BOMFromFile * removed Remove-InvalidFileNameChar * removed Search-Method * renamed Get-InvalidFileCharacter from Show-InvalidFileCharacter - added -IncludeValues where decimal and hexadecimal values are included in output, added -Printable where only printable characters (> 32) are in the output, added examples, added alias for function 'Show-InvalidFileCharacter', changed datatype of 'Char' from [char] to [string] * renamed Get-SpecialFolder from Show-SpecialFolder - reworked Show-SpecialFolder, added -Name parameter with ValidateSet against it for valid SpecialFolder names and if not specified returns all SpecialFolders, added -IncludeInput to be consistent with other functions, aliased function to 'Show-SpecialFolder' for backward compatibility * renamed Get-TypeAccelerator from Show-TypeAccelerator - added -MatchString string parameter to show only those that match, here string entries for some type accelerators that don't show up automatically, added $split delimiter depending on Powershell major version number * renamed Get-ComputerUptime from Get-LastReboot - made function more closely mimic Get-Uptime from PowerShell 6 and 7, aliased to Get-LastReboot * udpated Set-Type - added begin, process, end blocks, updated logic to properly accept input from pipeline and to be handled by both pwsh and Powershell * updated Compare-ObjectProperty - updated comment help to give better .EXAMPLE * updated Convert-ARGBToHex - changed -IncludeOriginal to -IncludeInput to be consistent * updated Convert-ROT13 - added -IncludeInput parameter, added examples * updated Convert-UserFlag - changed -UserFlag to [int[]], added -IncludeInput to be consistent * updated ConvertFrom-Base64 - added -IncludeInput * updated ConvertFrom-DateTime - changed -DateTime parameter to -Date to be more PowerShell-y * updated ConvertFrom-UTC - added -IncludeInput * updated ConvertFrom-UrlEncode - changed -IncludeOriginal to -IncludeInput to be consistent aliased to 'IncludeOriginal', fixed minor logic error * updated ConvertTo-Base64 - added -IncludeInput * updated ConvertTo-BinaryIPv4 - changed -IncludeOriginal to -IncludeInput to be consistent * updated ConvertTo-Bool - changed -IncludeOriginal to -IncludeInput to be consistent * updated ConvertTo-DateTime - changed -IncludeOriginal to -IncludeInput for consistency, aliased to 'IncludeOriginal' * updated ConvertTo-DecimalIPv4 - added code to handle multiple addresses to be converted, added -IncludeInput, added example * updated ConvertTo-DottedDecimalIPv4 - added code to handle multiple addresses to be converted, added -IncludeInput, added example * updated ConvertTo-UncPath - added -IncludeInput, additional example * updated ConvertTo-UrlEncode - changed -IncludeOriginal to -IncludeInput to be consistent and aliased to 'IncludeOriginal' * updated Expand-IPv6 - added code to handle multiple addresses to be expanded, added -IncludeInput * updated Expand-String - changed -IncludeOriginal to -IncludeInput to be consistent aliased to 'IncludeOriginal', added to comment help * updated Format-MacAddress - change $prop from [hashtable] to ([ordered] [hashtable]) so behavior is consistent between PowerShell.exe and pwsh.exe * updated Format-RandomCase - added -IncludeInput, renamed some variables inside of function, added example * updated Get-BashPath - added example in comment help, changed New-Object parameter to match form "-Propery ([ordered] @{...})" so that output matches between PowerShell and pwsh, changed -IncludeOriginal to -IncludeInput to be consistent * updated Get-ComputerSite - change -IncludeComputerName to -IncludeInput to be consistent * updated Get-Enum - changed -IncludeType to -IncludeInput aliased to 'IncludeType' fixed minor logic error * updated Get-Filename - added begin, process, end blocks, added Write-Verbose * updated Get-Folder - added begin, process, end blocks, added Write-Verbose * updated Get-Font - added begin, process, end blocks. tightened up code in process block and slightly changed internal variable name * updated Get-Fortune - added Wisdom.txt to module and default -Path to this file * updated Get-IpRange - changed -Subnets to -Subnet to conform to Powershell standards, aliased to 'Subnets' * updated Get-MacVendor - added write-verbose, updated comment help, removed redundant portion of regex * updated Get-MachineType - added example, changed -ComputerName to [string[]] and added code to handle multiple * updated Get-Md5Sum - changed -IncludeFile to -IncludeInput to be consistent and aliased to 'IncludeFile', changed -File to -Path to be more Powershell-y and aliased to 'File', 'FileName' * updated Get-NTFSPermission - changed $Path from [string] to [string[]] and function can now handle multiple paths * updated Get-Power - added -IncludeInput * updated Get-RandomDate - added some examples in comment help, -IncludeInput parameter * updated Get-RandomHexDigit - added begin, process, end blocks, updated comment help * updated Get-SID - changed -IncludeOriginal to -IncludeInput to be consistent and aliased to 'IncludeOriginal' * updated Get-SaveFile - changed -InitialDirectory to -Path and aliased to 'InitialDirectory' * updated Get-SubnetMaskIPv4 - changed -NetworkLength to -Length and aliased to old name, changed -IncludeCIDR to -IncludeInput to be more consistent, changed field name with -IncludeInput * updated Get-TruncatedDate - changed -IncludeOriginal to -IncludeInput and aliased to 'IncludeOriginal' * updated Get-Type - added begin, process, end blocks and write-verbose * updated Get-WordCount - updated comment help to more accurately reflect function * updated New-InputBox - added write-verbose statements * updated New-Popup - added example in help * updated New-Screenshot - added begin, process, end blocks, added write-verbose * updated New-Shortcut - fixed logic errors that prevented proper functioning * updated Resolve-FQDN - added -IncludeInput, changed -ComputerName to [string[]] * updated Resolve-HostName - changed -HostName to [string[]], added -IncludeInput, added example * updated Set-Display - corrected example in comment help, corrected example works flawlessly * updated Show-FileAttribute - added examples * updated Test-IsDate - changed New-Object parameter to match form "-Propery ([ordered] @{...})" so that output matches between PowerShell and pwsh * updated Test-IsHexString - added .PARAMETER statements to comment help * updated Test-IsNumeric - changed New-Object parameter to match form "-Propery ([ordered] @{...})" so that output matches between PowerShell and pwsh * updated Test-NTPDateVsNow - added -IncludeInput parameter, -ComputerName no longer mandatory and if left blank uses Get-ADDomainController to determine name of DC, added example * updated sed - added process blocks and Write-Verbose '@ # Flag to indicate whether the module requires explicit user acceptance for install/update/save # RequireLicenseAcceptance = False # External dependent modules of this module # ExternalModuleDependencies = '' } # End of PSData hashtable } # End of PrivateData hashtable # HelpInfo URI of this module # HelpInfoURI = '' # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. # DefaultCommandPrefix = '' } |