Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Cross-platform PowerShell profile with auto-loading utility functions for network testing, system administration, and developer workflows

License

Notifications You must be signed in to change notification settings

jonlabelle/pwsh-profile

Repository files navigation

PowerShell Profile

ci

Cross-platform PowerShell profile with auto-loading utility functions for network testing, system administration, and developer workflows.

Features

  • Cross-platform compatibility - Works on Windows, macOS, and Linux
  • Auto-loading functions - All functions in the Functions/ are auto-loaded with your profile
  • Local functions support - Add your own functions to Functions/Local/
  • Custom prompt - Clean, colored PowerShell prompt

Screenshot

PowerShell Profile in Windows Terminal

Table of Contents

Install

Overlay Overwrite your PowerShell profile path with the contents of this repository.

Choose your appropriate platform:

Linux/macOS

git clone 'https://github.com/jonlabelle/pwsh-profile.git' $HOME/.config/powershell

Windows

PowerShell Desktop

git clone 'https://github.com/jonlabelle/pwsh-profile.git' $HOME\Documents\WindowsPowerShell

PowerShell Core

git clone 'https://github.com/jonlabelle/pwsh-profile.git' $HOME\Documents\PowerShell

Available Commands

The profile includes various utility commands organized by category:

Network and DNS

  • Get-CertificateExpiration — Gets SSL/TLS certificate expiration dates from remote hosts
  • Get-CertificateDetails — Retrieves detailed SSL/TLS certificate information from remote hosts
  • Get-DnsRecord — Retrieves DNS records for any record type using DNS-over-HTTPS
  • Get-IPAddress — Gets local network interface IPs or public IP address with geolocation data
  • Get-Whois — Performs WHOIS lookups for domain names with registration details and nameservers
  • Invoke-Ping — Sends ICMP echo requests with detailed statistics (cross-platform ping alternative)
  • Resolve-GeoIP — Resolves IP addresses to geographic locations
  • Send-TcpRequest — Sends TCP requests and retrieves responses for network testing
  • Test-Bandwidth — Tests network bandwidth with download speed and latency measurements
  • Test-DnsNameResolution — Tests DNS name resolution using cross-platform .NET methods
  • Test-HttpResponse — Tests HTTP/HTTPS endpoints and returns response details
  • Test-Port — Tests TCP/UDP port connectivity with detailed connection information

System Administration

Developer

Security

Active Directory

PowerShell Module Management

Profile Management

Media Processing

Utilities

Local Functions

The Functions/Local/ directory is available for your machine-local functions that you don't want to commit to the repository. This is perfect for:

  • Work-specific utilities
  • Personal helper functions
  • Experimental functions you're testing
  • Machine-specific automations

Any PowerShell file placed in Functions/Local/ will be automatically loaded, just like the built-in functions. The entire directory is git-ignored, so your functions will never be accidentally committed.

See Functions/Local/README.md for detailed usage instructions, templates, and examples.

Update

To manually pull in the latest updates from this repo:

Update-Profile

You can also check for available updates without applying them:

Test-ProfileUpdate

Contributing

Contributions are welcome! Please follow these basic guidelines:

  • One function per file in Functions/ (Verb-Noun.ps1) — auto-loaded by the main profile.
  • Open a pull request with a brief description and include basic verification steps (lint + quick functional test).
  • Keep changes cross-platform compatible per the project's conventions. See ./Functions folder for examples.

Author

@jonlabelle

License

MIT License

About

Cross-platform PowerShell profile with auto-loading utility functions for network testing, system administration, and developer workflows

Topics

Resources

License

Stars

Watchers

Forks