500+ PowerShell scripts (.ps1) for every system!
Go to file
2024-11-26 07:58:23 +01:00
.github Update FUNDING.yml 2023-09-13 14:42:36 +02:00
data Updated scan-folder.ps1 2024-11-25 14:32:02 +01:00
docs Updated the manuals 2024-11-20 11:52:20 +01:00
scripts Added get-sha512.ps1 2024-11-26 07:58:23 +01:00
LICENSE Initial commit 2020-04-30 17:49:27 +02:00
README.md Update README.md 2024-11-20 15:35:36 +01:00

Mega Collection of PowerShell Scripts

Contains 500+ free and stand-alone PowerShell scripts for Linux, Mac OS, and Windows. Useful on the command-line (CLI), for remote control via SSH, for automation (see AutoHotkey or Jenkins), for context menus, for voice commands (see talk2windows), automatically on startup/login/logoff/daily/shutdown/etc., or simply to learn PowerShell. All scripts are located in the 📂scripts subfolder and support Unicode - a modern console is recommended (e.g. Windows Terminal).

Download | PowerShell FAQ | PowerShell Cheat Sheet

🔊 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. More »
play-files.ps1 Plays the given audio files. More »
play-happy-birthday.ps1 Plays the Happy Birthday song. More »
play-imperial-march.ps1 Plays the Imperial March (Star Wars). More »
play-jingle-bells.ps1 Plays Jingle Bells. More »
play-mission-impossible.ps1 Plays the Mission Impossible theme. More »
play-m3u.ps1 Plays the given M3U playlist. More »
play-mp3.ps1 Plays the given MP3 sound file. More »
play-super-mario.ps1 Plays the Super Mario intro. More »
play-tetris-melody.ps1 Plays the Tetris melody. More »
speak-checklist.ps1 Speaks the given checklist by text-to-speech. More »
speak-countdown.ps1 Speaks a countdown by text-to-speech. More »
speak-english.ps1 Speaks text with an English text-to-speech voice. More »
speak-epub.ps1 Speaks the content of the given Epub file by text-to-speech. More »
speak-file.ps1 Speaks the content of the given text file by text-to-speech. More »
speak-french.ps1 Speaks text with a French text-to-speech voice. More »
speak-german.ps1 Speaks text with a German text-to-speech voice. More »
speak-italian.ps1 Speaks text with an Italian text-to-speech voice. More »
speak-spanish.ps1 Speaks text with a Spanish text-to-speech voice. More »
speak-test.ps1 Performs a speak test by text-to-speech. More »
speak-text.ps1 Speaks the given text by text-to-speech. More »
spell-word.ps1 Spells the given word by text-to-speech. More »
tell-joke.ps1 Tells a random joke by text-to-speech. More »
tell-quote.ps1 Tells a random quote by text-to-speech. More »
turn-volume-down.ps1 Turns the audio volume down. More »
turn-volume-fully-up.ps1 Turns the audio fully up. More »
turn-volume-off.ps1 Turns audio off. More »
turn-volume-on.ps1 Turns audio on. More »
turn-volume-up.ps1 Turns the audio volume up. 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. More »
check-dns.ps1 Checks the DNS resolution. More »
check-drive-space.ps1 Checks a drive for free space left. More »
check-file-system.ps1 Checks the file system of a drive (needs admin rights). More »
check-health.ps1 Checks the system health. More »
check-ping.ps1 Checks the ping latency to the internet. More »
check-swap-space.ps1 Checks the swap space for free space left. More »
check-windows-system-files.ps1 Checks Windows system files (needs admin rights). More »
enable-crash-dumps.ps1 Enables the writing of crash dumps. More »
hibernate.ps1 Hibernates the local computer immediately. More »
install-github-cli.ps1 Installs GitHub CLI. More »
install-chrome-browser.ps1 Installs the Google Chrome browser. More »
install-firefox.ps1 Installs the Firefox browser. More »
install-knot-resolver.ps1 Installs the Knot Resolver (needs admin rights). More »
install-ssh-client.ps1 Installs a SSH client (needs admin rights). More »
install-ssh-server.ps1 Installs a SSH server (needs admin rights). More »
install-signal-cli.ps1 Installs the CLI edition of the Signal messenger. More »
install-updates.ps1 Installs updates (need admin rights). More »
install-wsl.ps1 Installs Windows Subsystem for Linux (WSL), needs admin rights. More »
list-apps.ps1 Lists the installed applications. More »
list-cli-tools.ps1 Lists installed command-line interface (CLI) tools. More »
list-dns-servers.ps1 Lists public DNS servers. More »
list-drives.ps1 Lists all drives. More »
list-network-shares.ps1 Lists all network shares of the local computer. More »
list-installed-software.ps1 Lists the installed software. More »
list-printers.ps1 Lists all printer known to the computer. More »
list-print-jobs.ps1 Lists all jobs of all printers. More »
list-processes.ps1 Lists the local computer processes. More »
list-services.ps1 Lists the services on the local computer. More »
list-system-info.ps1 Lists system information on the local computer. More »
list-tasks.ps1 Lists all Windows scheduler tasks. More »
list-timezone.ps1 Lists the current time zone details. More »
list-timezones.ps1 Lists all time zones available. More »
list-user-groups.ps1 Lists the user groups on the local computer. More »
poweroff.ps1 Halts the local computer (needs admin rights). More »
query-smart-data.ps1 Queries the S.M.A.R.T. data of your HDD/SSD's. More »
reboot.ps1 Reboots the local computer (needs admin rights). More »
remove-print-jobs.ps1 Removes all jobs from all printers. More »
restart-network-adapters.ps1 Restarts all local network adapters. More »
upgrade-ubuntu.ps1 Upgrades Ubuntu Linux to the latest (LTS) release. More »
wake-up-host.ps1 Wakes up a computer using Wake-on-LAN. More »
windefender.ps1 Turn Windows Defender on/off/check real time monitoring. More »

💻 Scripts for the Desktop

Script Description
close-calculator.ps1 Closes the calculator application. Read more »
close-cortana.ps1 Closes Cortana. More »
close-chrome.ps1 Closes the Google Chrome browser. More »
close-program.ps1 Closes the given program gracefully. More »
close-edge.ps1 Closes the Edge browser. More »
close-file-explorer.ps1 Closes Microsoft File Explorer. More »
close-firefox.ps1 Closes the Firefox browser. More »
close-microsoft-store.ps1 Closes the Microsoft Store app. More »
close-netflix.ps1 Closes the Netflix app. More »
close-onedrive.ps1 Closes Microsoft OneDrive. More »
close-serenade.ps1 Closes the Serenade application. More »
close-snipping-tool.ps1 Closes the Snipping Tool application. More »
close-spotify.ps1 Closes Spotify. More »
close-system-settings.ps1 Closes the System Settings window. More »
close-task-manager.ps1 Closes the Task Manager. More »
close-thunderbird.ps1 Closes Mozilla Thunderbird. More »
close-vlc.ps1 Closes the VLC media player application. More »
close-windows-terminal.ps1 Closes the Windows Terminal application. More »
enable-god-mode.ps1 Enables the god mode (adds a new icon to the desktop). More »
install-chrome.ps1 Installs the Google Chrome browser. Read more...
install-firefox.ps1 Installs the Firefox browser. 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. More »
cd-docs.ps1 Set the working directory to the user's documents folder. More »
cd-downloads.ps1 Set the working directory to the user's downloads folder. More »
cd-dropbox.ps1 Set the working directory to the user's Dropbox folder. More »
cd-home.ps1 Set the working directory to the user's home folder. 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-repo.ps1 Change the working directory to the given Git repository 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. More »
convert-ps2bat.ps1 Converts a PowerShell script to a Batch script. More »
convert-ps2md.ps1 Converts the comment-based help of a PowerShell script to Markdown. More »
convert-sql2csv.ps1 Converts a SQL database table to a .CSV file. More »
convert-txt2wav.ps1 Converts text to a .WAV audio file. More »
export-to-manuals.ps1 Exports all scripts as manuals. 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. More »
check-repo.ps1 Checks a Git repository. More »
clean-repo.ps1 Cleans a Git repository from untracked files. More »
clean-repos.ps1 Cleans all Git repositories in a folder from untracked files. More »
clone-repos.ps1 Clones well-known Git repositories. More »
configure-git.ps1 Sets up the Git user configuration. More »
fetch-repo.ps1 Fetches updates for a Git repository. More »
fetch-repos.ps1 Fetches updates for all Git repositories in a folder. More »
list-branches.ps1 Lists all branches in a Git repository. More »
list-commit-stats.ps1 Lists a Git commit statistics. More »
list-commits.ps1 Lists all commits in a Git repository. More »
list-latest-tag.ps1 Lists the latest tag on the current branch in a Git repository. More »
list-latest-tags.ps1 Lists the latests tags in all Git repositories under a directory. More »
list-repos.ps1 Lists all Git repositories in a folder. More »
list-submodules.ps1 Lists all submodules in a Git repository. More »
list-tags.ps1 Lists all tags in a Git repository. More »
new-branch.ps1 Creates a new branch in a Git repository. More »
new-tag.ps1 Creates a new tag in a Git repository. More »
pick-commit.ps1 Cherry-picks a Git commit into multiple branches. More »
pull-repo.ps1 Pulls updates into a Git repository. More »
pull-repos.ps1 Pulls updates into all Git repositories in a folder. More »
remove-tag.ps1 Removes a tag in a Git repository. More »
switch-branch.ps1 Switches the branch in a Git repository. More »
sync-repo.ps1 Synchronizes a Git repository by pull & push. More »
write-changelog.ps1 Writes a changelog from Git commits. 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. More »
list-aliases.ps1 Lists all PowerShell aliases. More »
list-automatic-variables.ps1 Lists the automatic variables of PowerShell. More »
list-cheat-sheet.ps1 Lists the PowerShell cheat sheet. More »
list-cmdlets.ps1 Lists the PowerShell cmdlets. More »
list-console-colors.ps1 Lists all console colors. More »
list-modules.ps1 Lists the PowerShell modules. More »
list-profiles.ps1 Lists your PowerShell profiles. More »
list-scripts.ps1 Lists all PowerShell scripts in this repository. More »
new-script.ps1 Creates a new PowerShell script. More »
set-profile.ps1 Updates your PowerShell user profile. 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. More »
check-ipv6-address.ps1 Checks the given IPv6 address for validity. More »
check-mac-address.ps1 Checks the given MAC address for validity. More »
check-subnet-mask.ps1 Checks the given subnet mask for validity. More »
check-weather.ps1 Checks the current weather for critical values. 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. More »
write-uppercase.ps1 Writes the given text in uppercase letters. More »
write-vertical.ps1 Writes the given text in vertical direction. More »
show-notification-motivation-quote.ps1 Show notification with random cat picture and motivation quote. More »

📧 Feedback

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

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