500+ PowerShell scripts (.ps1) for every system!
Go to file
2023-07-26 16:48:12 +02:00
Data Update some abbreviations 2023-07-26 16:48:12 +02:00
Docs Update FAQ.md 2023-07-22 14:26:42 +02:00
Scripts Update list-news.ps1 2023-07-26 16:07:11 +02:00
LICENSE Initial commit 2020-04-30 17:49:27 +02:00
README.md Update README.md 2023-07-22 16:59:10 +02:00

Mega Collection of PowerShell Scripts

This repo provides 500+ useful cross-platform PowerShell scripts located in the 📂Scripts subfolder - for command-line interface (CLI) usage, for remote control (e.g. SSH), for automation software (e.g. Jenkins), for context menus, for voice commands (e.g. talk2windows), automatically on startup/login/logoff/daily/shutdown/etc., or simply to learn PowerShell.

Download | FAQ | Note: the scripts support Unicode - a modern console is recommended (e.g. Windows Terminal)

🔊 Scripts for Audio & Voice

Script Description
list-voices.ps1 Lists the installed text-to-speech voices. Read more...
play-beep-sound.ps1 Plays a short beep sound. Read more...
play-files.ps1 Plays the given audio files. Read more...
play-happy-birthday.ps1 Plays the Happy Birthday song. Read more...
play-imperial-march.ps1 Plays the Imperial March (Star Wars). Read more...
play-jingle-bells.ps1 Plays Jingle Bells. Read more...
play-mission-impossible.ps1 Plays the Mission Impossible theme. Read more...
play-m3u.ps1 Plays the given playlist (M3U file format). Read more...
play-mp3.ps1 Plays the given sound file (MP3 file format). Read more...
play-super-mario.ps1 Plays the Super Mario intro. Read more...
play-tetris-melody.ps1 Plays the Tetris melody. Read more...
speak-checklist.ps1 Speaks the given checklist by text-to-speech. Read more...
speak-countdown.ps1 Starts a countdown by text-to-speech. Read more...
speak-english.ps1 Speaks text with an English text-to-speech voice. Read more...
speak-epub.ps1 Speaks the content of the given Epub file by text-to-speech. Read more...
speak-file.ps1 Speaks the content of the given text file by text-to-speech. Read more...
speak-french.ps1 Speaks text with a French text-to-speech voice. Read more...
speak-german.ps1 Speaks text with a German text-to-speech voice. Read more...
speak-italian.ps1 Speaks text with an Italian text-to-speech voice. Read more...
speak-spanish.ps1 Speaks text with a Spanish text-to-speech voice. Read more...
speak-test.ps1 Performs a speak test by text-to-speech. Read more...
speak-text.ps1 Speaks the given text by text-to-speech. Read more...
tell-joke.ps1 Tells a joke by text-to-speech. Read more...
tell-quote.ps1 Tells a quote by text-to-speech. Read more...
turn-volume-down.ps1 Turns the audio volume down. Read more...
turn-volume-fully-up.ps1 Turns the audio volume fully up. Read more...
turn-volume-off.ps1 Turns audio off. Read more...
turn-volume-on.ps1 Turns audio on. Read more...
turn-volume-up.ps1 Turns the audio volume up. Read more...

⚙️ Scripts to Manage Computers

Script Description
add-firewall-rules.ps1 Adds firewall rules for executables, needs admin rights. Read more...
check-cpu.ps1 Checks the CPU temperature. Read more...
check-dns.ps1 Checks the DNS resolution. Read more...
check-drive-space.ps1 Checks a drive for free space left. Read more...
check-file-system.ps1 Checks the file system of a drive (needs admin rights). Read more...
check-health.ps1 Checks the system health. Read more...
check-ping.ps1 Checks the ping latency to the internet. Read more...
check-swap-space.ps1 Checks the swap space for free space left. Read more...
check-windows-system-files.ps1 Checks the validity of the Windows system files (needs admin rights). Read more...
enable-crash-dumps.ps1 Enables the writing of crash dumps. Read more...
hibernate.ps1 Hibernates the local computer immediately. Read more...
install-github-cli.ps1 Installs GitHub CLI. Read more...
install-chrome-browser.ps1 Installs the Google Chrome browser. Read more...
install-knot-resolver.ps1 Installs the Knot Resolver (needs admin rights). Read more...
install-ssh-client.ps1 Installs a SSH client (needs admin rights). Read more...
install-ssh-server.ps1 Installs a SSH server (needs admin rights). Read more...
install-signal-cli.ps1 Installs signal-cli from github.com/AsamK/signal-cli. Read more...
install-updates.ps1 Installs updates (need admin rights). Read more...
install-wsl.ps1 Installs Windows Subsystem for Linux (WSL), needs admin rights. Read more...
list-apps.ps1 Lists the installed applications. Read more...
list-cli-tools.ps1 Lists installed command-line interface (CLI) tools. Read more...
list-dns-servers.ps1 Lists public DNS servers. Read more...
list-drives.ps1 Lists all drives. Read more...
list-network-shares.ps1 Lists all network shares of the local computer. Read more...
list-installed-software.ps1 Lists the installed software. Read more...
list-printers.ps1 Lists all printer known to the computer. Read more...
list-print-jobs.ps1 Lists all jobs of all printers. Read more...
list-processes.ps1 Lists the local computer processes. Read more...
list-services.ps1 Lists the services on the local computer. Read more...
list-system-info.ps1 Lists system information on the local computer. Read more...
list-tasks.ps1 Lists all Windows scheduler tasks. Read more...
list-timezone.ps1 Lists the current time zone details. Read more...
list-timezones.ps1 Lists all time zones available. Read more...
list-user-groups.ps1 Lists the user groups on the local computer. Read more...
poweroff.ps1 Halts the local computer (needs admin rights). Read more...
query-smart-data.ps1 Queries the S.M.A.R.T. data of your HDD/SSD's. Read more...
reboot.ps1 Reboots the local computer (needs admin rights). Read more...
remove-print-jobs.ps1 Removes all jobs from all printers. Read more...
restart-network-adapters.ps1 Restarts all local network adapters. Read more...
upgrade-ubuntu.ps1 Upgrades Ubuntu Linux to the latest (LTS) release. Read more...
wake-up.ps1 Wakes up a computer using Wake-on-LAN. Read more...

💻 Scripts for the Desktop

Script Description
close-calculator.ps1 Closes the calculator application. Read more...
close-cortana.ps1 Closes Cortana. Read more...
close-chrome.ps1 Closes the Chrome browser. Read more...
close-program.ps1 Closes the given program gracefully. Read more...
close-edge.ps1 Closes the Edge browser. Read more...
close-file-explorer.ps1 Closes Microsoft File Explorer. Read more...
close-firefox.ps1 Closes the Firefox browser. Read more...
close-microsoft-store.ps1 Closes the Microsoft Store app. Read more...
close-netflix.ps1 Closes the Netflix app. Read more...
close-onedrive.ps1 Closes Microsoft OneDrive. Read more...
close-serenade.ps1 Closes the Serenade application. Read more...
close-snipping-tool.ps1 Closes the Snipping Tool application. Read more...
close-spotify.ps1 Closes Spotify. Read more...
close-system-settings.ps1 Closes the System Settings window. Read more...
close-task-manager.ps1 Closes the Task Manager. Read more...
close-thunderbird.ps1 Closes Mozilla Thunderbird. Read more...
close-vlc.ps1 Closes the VLC media player application. Read more...
close-windows-terminal.ps1 Closes the Windows Terminal application. Read more...
enable-god-mode.ps1 Enables the god mode (adds a new icon to the desktop). Read more...
list-clipboard.ps1 Lists the contents of the clipboard. Read more...
new-email.ps1 Starts the default email client to write a new email. Read more...
open-amazon-website.ps1 Opens Amazon's website. Read more...
open-default-browser.ps1 Launches the default Web browser. Read more...
open-calculator.ps1 Starts the calculator program. Read more...
open-c-drive.ps1 Opens the C: drive folder. Read more...
open-downloads-folders.ps1 Opens the user's downloads folder. Read more...
open-dropbox-folder.ps1 Opens the user's Dropbox folder. Read more...
open-edge.ps1 Launches the Edge browser. Read more...
open-email-client.ps1 Starts the default email client. Read more...
open-facebook-website.ps1 Opens Facebook's website. Read more...
open-file-explorer.ps1 Opens the File Explorer. Read more...
open-firefox.ps1 Launches the Firefox browser. Read more...
open-fritz-box.ps1 Opens FRITZ!Box's web interface. Read more...
open-github.ps1 Opens GitHub's website. Read more...
open-google-contacts.ps1 Opens Google Contacts. Read more...
open-google-earth.ps1 Opens Google Earth. Read more...
open-google-mail.ps1 Opens Google Mail. Read more...
open-google-maps.ps1 Opens Google Maps. Read more...
open-google-news.ps1 Opens Google News. Read more...
open-google-play.ps1 Opens Google Play. Read more...
open-google-search.ps1 Opens Google Search. Read more...
open-google-translate.ps1 Opens Google Translate. Read more...
open-home-folder.ps1 Opens the user's home folder. Read more...
open-music-folder.ps1 Opens the user's music folder. Read more...
open-netflix.ps1 Starts the Netflix app. Read more...
open-microsoft-store.ps1 Launches the Microsoft Store app. Read more...
open-notepad.ps1 Starts the Notepad app. Read more...
open-onedrive-folder.ps1 Opens the user's OneDrive folder. Read more...
open-pictures-folder.ps1 Opens the user's pictures folder. Read more...
open-recycle-bin.ps1 Opens the user's recycle bin folder. Read more...
open-repos-folder.ps1 Opens the user's Git repositories folder. Read more...
open-snipping-tool.ps1 Starts the Snipping Tool. Read more...
open-speed-test.ps1 Opens Cloudflare's speed test. Read more...
open-spotify.ps1 Opens Spotify. Read more...
open-system-settings.ps1 Opens the system settings of Windows. Read more...
open-task-manager.ps1 Starts the Task Manager. Read more...
open-videos-folder.ps1 Opens the user's videos folder. Read more...
open-windows-terminal.ps1 Launches Windows Terminal. Read more...
open-wikipedia-website.ps1 Opens Wikipedia's website. Read more...
open-youtube-website.ps1 Opens YouTube's website. Read more...
remind-me.ps1 Creates a scheduled task that will display a popup message. Read more...
save-screenshot.ps1 Saves a single screenshot. Read more...
set-wallpaper.ps1 Sets the given image as wallpaper. Read more...

📁 Scripts for Files & Folders

Script Description
cd-autostart.ps1 Set the working directory to the user's autostart folder. Read more...
cd-desktop.ps1 Set the working directory to the user's desktop folder. Read more...
cd-docs.ps1 Set the working directory to the user's documents folder. Read more...
cd-downloads.ps1 Set the working directory to the user's downloads folder. Read more...
cd-dropbox.ps1 Set the working directory to the user's Dropbox folder. Read more...
cd-home.ps1 Set the working directory to the user's home folder. Read more...
cd-music.ps1 Set the working directory to the user's music folder. Read more...
cd-onedrive.ps1 Set the working directory to the user's OneDrive folder. Read more...
cd-pics.ps1 Set the working directory to the user's pictures folder. Read more...
cd-recycle-bin.ps1 Set the working directory to the user's recycle bin folder. Read more...
cd-repos.ps1 Change the working directory to the user's Git repositories folder. Read more...
cd-root.ps1 Set the working directory to the root directory. Read more...
cd-scripts.ps1 Set the working directory to the PowerShell Scripts folder. Read more...
cd-ssh.ps1 Set the working directory to the user's SSH folder. Read more...
cd-up.ps1 Set the working directory to one directory level up. Read more...
cd-up2.ps1 Set the working directory to two directory levels up. Read more...
cd-up3.ps1 Set the working directory to three directory levels up. Read more...
cd-up4.ps1 Set the working directory to four directory levels up. Read more...
cd-videos.ps1 Set the working directory to the user's videos folder. Read more...
check-symlinks.ps1 Checks every symlink in a directory tree. Read more...
check-xml-file.ps1 Checks the given XML file for validity. Read more...
clear-recycle-bin.ps1 Removes the content of the recycle bin folder (can not be undo!). Read more...
copy-photos-sorted.ps1 Copy image files sorted by year and month. Read more...
decrypt-file.ps1 Decrypts the given file. Read more...
download-dir.ps1 Downloads a directory tree from the given URL. Read more...
download-file.ps1 Downloads a file from the given URL. Read more...
edit.ps1 Edits the given file with the built-in text editor. Read more...
encrypt-file.ps1 Encrypts the given file. Read more...
get-md5.ps1 Prints the MD5 checksum of the given file. Read more...
get-sha1.ps1 Prints the SHA1 checksum of the given file. Read more...
get-sha256.ps1 Prints the SHA256 checksum of the given file. Read more...
inspect-exe.ps1 Prints basic information of the given executable file. Read more...
list-dir-tree.ps1 Lists the directory tree content. Read more...
list-empty-dirs.ps1 Lists empty subfolders within the given directory tree. Read more...
list-empty-files.ps1 Lists empty files within the given directory tree. Read more...
list-files.ps1 Lists all files in the given folder and also in every subfolder. Read more...
list-folder.ps1 Lists the folder content. Read more...
list-hidden-files.ps1 Lists hidden files within the given directory tree. Read more...
list-recycle-bin.ps1 Lists the content of the recycle bin folder. Read more...
list-unused-files.ps1 Lists unused files in a directory tree. Read more...
list-workdir.ps1 Lists the current working directory. Read more...
make-install.ps1 Installs built executables and libs to the installation directory. Read more...
new-shortcut.ps1 Creates a new shortcut file. Read more...
new-symlink.ps1 Creates a new symbolic link file. Read more...
new-zipfile.ps1 Creates a new .zip file from a directory. Read more...
publish-to-ipfs.ps1 Publishes the given files or directory to IPFS. Read more...
remove-empty-dirs.ps1 Removes empty subfolders within the given directory tree. Read more...
replace-in-files.ps1 Search and replace a pattern in the given files by the replacement. Read more...
search-filename.ps1 Searches the directory tree for filenames by given pattern. Read more...
search-files.ps1 Searches the given pattern in the given files. Read more...
upload-file.ps1 Uploads the local file to the given FTP server. Read more...

♻️ Scripts to Convert Files

Script Description
convert-csv2txt.ps1 Converts a .CSV file to a text file. Read more...
convert-mysql2csv.ps1 Converts a MySQL database table to a .CSV file. Read more...
convert-ps2bat.ps1 Converts a PowerShell script to a Batch script. Read more...
convert-ps2md.ps1 Converts the comment-based help of a PowerShell script to Markdown. Read more...
convert-sql2csv.ps1 Converts a SQL database table to a .CSV file. Read more...
convert-txt2wav.ps1 Converts text to a .WAV audio file. Read more...
export-to-manuals.ps1 Exports all scripts as manuals. Read more...

📝 Scripts for Git

Script Description
build-repo.ps1 Builds a Git repository. Read more...
build-repos.ps1 Builds all Git repositories in a folder. Read more...
check-repo.ps1 Checks a Git repository. Read more...
clean-repo.ps1 Cleans a Git repository from untracked files. Read more...
clean-repos.ps1 Cleans all Git repositories in a folder from untracked files. Read more...
clone-repos.ps1 Clones well-known Git repositories. Read more...
configure-git.ps1 Sets up the Git user configuration. Read more...
fetch-repo.ps1 Fetches updates for a Git repository. Read more...
fetch-repos.ps1 Fetches updates for all Git repositories in a folder. Read more...
list-branches.ps1 Lists all branches in a Git repository. Read more...
list-commits.ps1 Lists all commits in a Git repository. Read more...
list-latest-tag.ps1 Lists the latest tag on the current branch in a Git repository. Read more...
list-latest-tags.ps1 Lists the latests tags in all Git repositories under a directory. Read more...
list-repos.ps1 Lists the Git repositories in a folder. Read more...
list-submodules.ps1 Lists the submodules in a Git repository. Read more...
list-tags.ps1 Lists all tags in a Git repository. Read more...
new-branch.ps1 Creates a new branch in a Git repository. Read more...
new-tag.ps1 Creates a new tag in a Git repository. Read more...
pick-commit.ps1 Cherry-picks a Git commit into multiple branches. Read more...
pull-repo.ps1 Pulls updates for a Git repository. Read more...
pull-repos.ps1 Pulls updates for all Git repositories in a folder. Read more...
remove-tag.ps1 Removes a tag in a Git repository. Read more...
switch-branch.ps1 Switches the branch in a Git repository. Read more...
sync-repo.ps1 Synchronizes a Git repository by push & pull. Read more...

🔎 Scripts for PowerShell

Script Description
daily-tasks.sh Execute PowerShell scripts automatically as daily tasks (Linux only). Read more...
introduce-powershell.ps1 Introduces PowerShell to new users. Read more...
list-aliases.ps1 Lists all PowerShell aliases. Read more...
list-automatic-variables.ps1 Lists the automatic variables of PowerShell. Read more...
list-cheat-sheet.ps1 Lists the PowerShell cheat sheet. Read more...
list-cmdlets.ps1 Lists the PowerShell cmdlets. Read more...
list-console-colors.ps1 Lists all console colors. Read more...
list-modules.ps1 Lists the PowerShell modules. Read more...
list-profiles.ps1 Lists your PowerShell profiles. Read more...
list-scripts.ps1 Lists all PowerShell scripts in this repository. Read more...
new-script.ps1 Creates a new PowerShell script. Read more...
set-profile.ps1 Updates your PowerShell user profile. Read more...

🛒 Various PowerShell Scripts

Script Description
add-memo.ps1 Adds the given memo text to $HOME/Memos.csv. Read more...
check-ipv4-address.ps1 Checks the given IPv4 address for validity. Read more...
check-ipv6-address.ps1 Checks the given IPv6 address for validity. Read more...
check-mac-address.ps1 Checks the given MAC address for validity. Read more...
check-subnet-mask.ps1 Checks the given subnet mask for validity. Read more...
check-weather.ps1 Checks the current weather for critical values. Read more...
display-time.ps1 Displays the current time for 10 seconds by default. Read more...
list-anagrams.ps1 Lists all anagrams of the given word. Read more...
list-city-weather.ps1 Lists the current weather of cities worldwide (west to east). Read more...
list-countries.ps1 Lists details of all countries. Read more...
list-credits.ps1 Shows the credits. Read more...
list-crypto-rates.ps1 Lists the current crypto exchange rates. Read more...
list-environment-variables.ps1 Lists all environment variables. Read more...
list-emojis.ps1 Lists the emojis of Unicode 13.0. Read more...
list-fritzbox-calls.ps1 Lists the FRITZ!Box calls. Read more...
list-fritzbox-devices.ps1 Lists FRITZ!Box's known devices. Read more...
list-earthquakes.ps1 Lists earthquakes with magnitude >= 6.0 for the last 30 days. Read more...
list-exchange-rates.ps1 Lists the current exchange rates for the given currency. Read more...
list-memos.ps1 Lists the memos at $HOME/Memos.csv. Read more...
list-mysql-tables.ps1 Lists the MySQL server tables. Read more...
list-news.ps1 Lists the latest news. Read more...
list-os-releases.ps1 Lists operating system releases and download URL. Read more...
list-os-updates.ps1 Lists operating system updates. Read more...
list-passwords.ps1 Prints a list of random passwords. Read more...
list-pins.ps1 Prints a list of random PIN's. Read more...
list-sql-tables.ps1 Lists the SQL server tables. Read more...
list-tiobe-index.ps1 Lists the TIOBE index of top programming languages. Read more...
list-weather.ps1 Lists the hourly weather. Read more...
locate-city.ps1 Prints the geographic location of the given city. Read more...
locate-ipaddress.ps1 Prints the geographic location of the given IP address. Read more...
locate-zip-code.ps1 Prints the geographic location of the given zip-code. Read more...
moon.ps1 Prints the current moon phase. Read more...
new-qrcode.ps1 Generates a new QR code image file. Read more...
reboot-fritzbox.ps1 Reboots the FRITZ!box device. Read more...
scan-ports.ps1 Scans the network for open/closed ports. Read more...
send-email.ps1 Sends an email message. Read more...
send-tcp.ps1 Sends a TCP message to the given IP address and port. Read more...
send-udp.ps1 Sends a UDP datagram message to the given IP address and port. Read more...
set-timer.ps1 Sets a timer for a countdown. Read more...
simulate-presence.ps1 Simulates the human presence against burglars. Read more...
start-calibre-server.ps1 Starts a local Calibre server. Read more...
start-ipfs-server.ps1 Starts a local IPFS server. Read more...
switch-shelly1.ps1 Switches a Shelly1 device in the local network. Read more...
translate-file.ps1 Translates the given text file into other languages. Read more...
translate-files.ps1 Translates the given text files into any supported language. Read more...
translate-text.ps1 Translates the given text in English into other languages. Read more...
weather.ps1 Prints the current weather forecast. Read more...
weather-report.ps1 Prints the local weather report. Read more...
what-is.ps1 Prints a description of the given abbreviation. Read more...
write-animated.ps1 Writes animated text. Read more...
write-big.ps1 Writes the given text in big letters. Read more...
write-blue.ps1 Writes the given text in a blue foreground color. Read more...
write-braille.ps1 Writes the given text in Braille. Read more...
write-calendar.ps1 Writes the calendar (month of year). Read more...
write-green.ps1 Writes the given text in a green foreground color. Read more...
write-joke.ps1 Writes a random Juck Norris joke. Read more...
write-lowercase.ps1 Writes the given text in lowercase letters. Read more...
write-marquee.ps1 Writes the given text as marquee. Read more...
write-morse-code.ps1 Writes the given text in Morse code. Read more...
write-motd.ps1 Writes the message of the day (MOTD). Read more...
write-quote.ps1 Writes a random quote. Read more...
write-red.ps1 Writes the given text in a red foreground color. Read more...
write-rot13.ps1 Encodes or decodes the given text with ROT13. Read more...
write-typewriter.ps1 Writes the given text with the typewriter effect. Read more...
write-uppercase.ps1 Writes the given text in uppercase letters. Read more...
write-vertical.ps1 Writes the given text in vertical direction. Read more...

Feedback

Send your email feedback to: markus.fleschutz [at] gmail [dot] com

This open source project is licensed under the CC0 license. All trademarks are the property of their respective owners.