mirror of
https://github.com/fleschutz/PowerShell.git
synced 2025-08-20 00:58:37 +02:00
7bf107cc0ba3561ee84c5879a3b01d95f4d43c5e
Mega Collection of PowerShell Scripts
This repo provides 500+ useful and cross-platform PowerShell scripts in the 📂Scripts subfolder - for command-line interface (CLI) usage, for remote control (via SSH), by context menu, by voice (e.g. talk2windows), by automation software (e.g. Jenkins), automatically on login/logoff/daily/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 the given 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 | Enables hibernate mode for the local computer (needs admin rights). 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-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 (except Windows Store apps). 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 | Help |
|---|---|---|
| close-calculator.ps1 | Closes the calculator application | Help |
| close-cortana.ps1 | Closes Cortana | Help |
| close-chrome.ps1 | Closes the Chrome browser | Help |
| close-program.ps1 | Closes the given program gracefully | Help |
| close-edge.ps1 | Closes the Edge browser | Help |
| close-file-explorer.ps1 | Closes Microsoft File Explorer | Help |
| close-firefox.ps1 | Closes the Firefox browser | Help |
| close-microsoft-store.ps1 | Closes the Microsoft Store app | Help |
| close-netflix.ps1 | Closes the Netflix app | Help |
| close-onedrive.ps1 | Closes Microsoft OneDrive | Help |
| close-serenade.ps1 | Closes the Serenade application | Help |
| close-snipping-tool.ps1 | Closes the Snipping Tool application | Help |
| close-spotify.ps1 | Closes Spotify | Help |
| close-system-settings.ps1 | Closes the System Settings window | Help |
| close-task-manager.ps1 | Closes the Task Manager | Help |
| close-thunderbird.ps1 | Closes Mozilla Thunderbird | Help |
| close-vlc.ps1 | Closes the VLC media player application | Help |
| close-windows-terminal.ps1 | Closes the Windows Terminal application | Help |
| enable-god-mode.ps1 | Enables the god mode (adds a new icon to the desktop) | Help |
| list-clipboard.ps1 | Lists the contents of the clipboard | Help |
| new-email.ps1 | Starts the default email client to write a new email | Help |
| open-amazon-website.ps1 | Opens Amazon's website | Help |
| open-default-browser.ps1 | Launches the default Web browser | Help |
| open-calculator.ps1 | Starts the calculator program | Help |
| open-c-drive.ps1 | Opens the C: drive folder | Help |
| open-downloads-folders.ps1 | Opens the user's downloads folder | Help |
| open-dropbox-folder.ps1 | Opens the user's Dropbox folder | Help |
| open-edge.ps1 | Launches the Edge browser | Help |
| open-email-client.ps1 | Starts the default email client | Help |
| open-facebook-website.ps1 | Opens Facebook's website | Help |
| open-file-explorer.ps1 | Opens the File Explorer | Help |
| open-firefox.ps1 | Launches the Firefox browser | Help |
| open-fritz-box.ps1 | Opens FRITZ!Box's web interface | Help |
| open-github.ps1 | Opens GitHub's website | Help |
| open-google-contacts.ps1 | Opens Google Contacts | Help |
| open-google-earth.ps1 | Opens Google Earth | Help |
| open-google-mail.ps1 | Opens Google Mail | Help |
| open-google-maps.ps1 | Opens Google Maps | Help |
| open-google-news.ps1 | Opens Google News | Help |
| open-google-play.ps1 | Opens Google Play | Help |
| open-google-search.ps1 | Opens Google Search | Help |
| open-google-translate.ps1 | Opens Google Translate | Help |
| open-home-folder.ps1 | Opens the user's home folder | Help |
| open-music-folder.ps1 | Opens the user's music folder | Help |
| open-netflix.ps1 | Starts the Netflix app | Help |
| open-microsoft-store.ps1 | Launches the Microsoft Store app | Help |
| open-notepad.ps1 | Starts the Notepad app | Help |
| open-onedrive-folder.ps1 | Opens the user's OneDrive folder | Help |
| open-pictures-folder.ps1 | Opens the user's pictures folder | Help |
| open-recycle-bin.ps1 | Opens the user's recycle bin folder | Help |
| open-repos-folder.ps1 | Opens the user's Git repositories folder | Help |
| open-snipping-tool.ps1 | Starts the Snipping Tool | Help |
| open-speed-test.ps1 | Opens Cloudflare's speed test | Help |
| open-spotify.ps1 | Opens Spotify | Help |
| open-system-settings.ps1 | Opens system settings of Windows | Help |
| open-task-manager.ps1 | Starts the Task Manager | Help |
| open-videos-folder.ps1 | Opens the user's videos folder | Help |
| open-windows-terminal.ps1 | Launches Windows Terminal | Help |
| open-wikipedia-website.ps1 | Opens Wikipedia's website | Help |
| open-youtube-website.ps1 | Opens YouTube's website | Help |
| remind-me.ps1 | Creates a scheduled task that will display a popup message | Help |
| save-screenshot.ps1 | Saves a single screenshot | Help |
| set-wallpaper.ps1 | Sets the given image as wallpaper | Help |
📁 Scripts for Files & Folders
| Script | Description | Help |
|---|---|---|
| cd-autostart.ps1 | Set the working directory to the user's autostart folder | Help |
| cd-desktop.ps1 | Set the working directory to the user's desktop folder | Help |
| cd-docs.ps1 | Set the working directory to the user's documents folder | Help |
| cd-downloads.ps1 | Set the working directory to the user's downloads folder | Help |
| cd-dropbox.ps1 | Set the working directory to the user's Dropbox folder | Help |
| cd-home.ps1 | Set the working directory to the user's home folder | Help |
| cd-music.ps1 | Set the working directory to the user's music folder | Help |
| cd-onedrive.ps1 | Set the working directory to the user's OneDrive folder | Help |
| cd-pics.ps1 | Set the working directory to the user's pictures folder | Help |
| cd-recycle-bin.ps1 | Set the working directory to the user's recycle bin folder | Help |
| cd-repos.ps1 | Change the working directory to the user's Git repositories folder | Help |
| cd-root.ps1 | Set the working directory to the root directory (C:\ on Windows) | Help |
| cd-scripts.ps1 | Set the working directory to the PowerShell Scripts folder | Help |
| cd-ssh.ps1 | Set the working directory to the user's SSH folder | Help |
| cd-up.ps1 | Set the working directory to one directory level up | Help |
| cd-up2.ps1 | Set the working directory to two directory levels up | Help |
| cd-up3.ps1 | Set the working directory to three directory levels up | Help |
| cd-up4.ps1 | Set the working directory to four directory levels up | Help |
| cd-videos.ps1 | Set the working directory to the user's videos folder | Help |
| check-symlinks.ps1 | Checks every symlink in a directory tree | Help |
| check-xml-file.ps1 | Checks the given XML file for validity | Help |
| clear-recycle-bin.ps1 | Removes the content of the recycle bin folder (can not be undo!) | Help |
| copy-photos-sorted.ps1 | Copy image files sorted by year and month | Help |
| decrypt-file.ps1 | Decrypts the given file | Help |
| download-dir.ps1 | Downloads a directory tree from the given URL | Help |
| download-file.ps1 | Downloads a file from the given URL | Help |
| edit.ps1 | Edits the given file with the built-in text editor | Help |
| encrypt-file.ps1 | Encrypts the given file | Help |
| get-md5.ps1 | Prints the MD5 checksum of the given file | Help |
| get-sha1.ps1 | Prints the SHA1 checksum of the given file | Help |
| get-sha256.ps1 | Prints the SHA256 checksum of the given file | Help |
| inspect-exe.ps1 | Prints basic information of the given executable file | Help |
| list-dir-tree.ps1 | Lists the directory tree content | Help |
| list-empty-dirs.ps1 | Lists empty subfolders within the given directory tree | Help |
| list-empty-files.ps1 | Lists empty files within the given directory tree | Help |
| list-files.ps1 | Lists all files in the given folder and also in every subfolder | Help |
| list-folder.ps1 | Lists the folder content | Help |
| list-hidden-files.ps1 | Lists hidden files within the given directory tree | Help |
| list-recycle-bin.ps1 | Lists the content of the recycle bin folder | Help |
| list-unused-files.ps1 | Lists unused files in a directory tree | Help |
| list-workdir.ps1 | Lists the current working directory | Help |
| make-install.ps1 | Installs built executables and libs to the installation directory | Help |
| new-shortcut.ps1 | Creates a new shortcut file | Help |
| new-symlink.ps1 | Creates a new symbolic link file | Help |
| new-zipfile.ps1 | Creates a new .zip file from a directory | Help |
| publish-to-ipfs.ps1 | Publishes the given files or directory to IPFS | Help |
| remove-empty-dirs.ps1 | Removes empty subfolders within the given directory tree | Help |
| replace-in-files.ps1 | Search and replace a pattern in the given files by the replacement | Help |
| search-filename.ps1 | Searches the directory tree for filenames by given pattern | Help |
| search-files.ps1 | Searches the given pattern in the given files | Help |
| upload-file.ps1 | Uploads the local file to the given FTP server | Help |
♻️ 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 | Help |
|---|---|---|
| add-memo.ps1 | Adds the given memo text to $HOME/Memos.csv | Help |
| check-ipv4-address.ps1 | Checks the given IPv4 address for validity | Help |
| check-ipv6-address.ps1 | Checks the given IPv6 address for validity | Help |
| check-mac-address.ps1 | Checks the given MAC address for validity | Help |
| check-subnet-mask.ps1 | Checks the given subnet mask for validity | Help |
| check-weather.ps1 | Checks the current weather for critical values | Help |
| display-time.ps1 | Displays the current time for 10 seconds by default | Help |
| list-anagrams.ps1 | Lists all anagrams of the given word | Help |
| list-city-weather.ps1 | Lists the current weather of cities worldwide (west to east) | Help |
| list-countries.ps1 | Lists details of all countries | Help |
| list-credits.ps1 | Shows the credits | Help |
| list-crypto-rates.ps1 | Lists the current crypto exchange rates | Help |
| list-environment-variables.ps1 | Lists all environment variables | Help |
| list-emojis.ps1 | Lists the emojis of Unicode 13.0 | Help |
| list-fritzbox-calls.ps1 | Lists the FRITZ!Box calls | Help |
| list-fritzbox-devices.ps1 | Lists FRITZ!Box's known devices | Help |
| list-earthquakes.ps1 | Lists earthquakes with magnitude >= 6.0 for the last 30 days | Help |
| list-exchange-rates.ps1 | Lists the current exchange rates for the given currency | Help |
| list-memos.ps1 | Lists the memos at $HOME/Memos.csv | Help |
| list-mysql-tables.ps1 | Lists the MySQL server tables | Help |
| list-news.ps1 | Lists the latest news | Help |
| list-os-releases.ps1 | Lists operating system releases and download URL | Help |
| list-os-updates.ps1 | Lists operating system updates | Help |
| list-passwords.ps1 | Prints a list of random passwords | Help |
| list-pins.ps1 | Prints a list of random PIN's | Help |
| list-sql-tables.ps1 | Lists the SQL server tables | Help |
| list-tiobe-index.ps1 | Lists the TIOBE index of top programming languages | Help |
| list-weather.ps1 | Lists the hourly weather | Help |
| locate-city.ps1 | Prints the geographic location of the given city | Help |
| locate-ipaddress.ps1 | Prints the geographic location of the given IP address | Help |
| locate-zip-code.ps1 | Prints the geographic location of the given zip-code | Help |
| moon.ps1 | Prints the current moon phase | Help |
| new-qrcode.ps1 | Generates a new QR code image file | Help |
| reboot-fritzbox.ps1 | Reboots the FRITZ!box device | Help |
| scan-ports.ps1 | Scans the network for open/closed ports | Help |
| send-email.ps1 | Sends an email message | Help |
| send-tcp.ps1 | Sends a TCP message to the given IP address and port | Help |
| send-udp.ps1 | Sends a UDP datagram message to the given IP address and port | Help |
| set-timer.ps1 | Sets a timer for a countdown | Help |
| simulate-presence.ps1 | Simulates the human presence against burglars | Help |
| start-calibre-server.ps1 | Starts a local Calibre server | Help |
| start-ipfs-server.ps1 | Starts a local IPFS server | Help |
| switch-shelly1.ps1 | Switches a Shelly1 device in the local network | Help |
| translate-file.ps1 | Translates the given text file into other languages | Help |
| translate-files.ps1 | Translates the given text files into any supported language | Help |
| translate-text.ps1 | Translates the given text in English into other languages | Help |
| weather.ps1 | Prints the current weather forecast | Help |
| weather-report.ps1 | Prints the local weather report | Help |
| what-is.ps1 | Prints a description of the given abbreviation | Help |
| write-animated.ps1 | Writes animated text | Help |
| write-big.ps1 | Writes the given text in big letters | Help |
| write-blue.ps1 | Writes the given text in a blue foreground color | Help |
| write-braille.ps1 | Writes the given text in Braille | Help |
| write-calendar.ps1 | Writes the calendar (month of year) | Help |
| write-green.ps1 | Writes the given text in a green foreground color | Help |
| write-joke.ps1 | Writes a random Juck Norris joke | Help |
| write-lowercase.ps1 | Writes the given text in lowercase letters | Help |
| write-marquee.ps1 | Writes the given text as marquee | Help |
| write-morse-code.ps1 | Writes the given text in Morse code | Help |
| write-motd.ps1 | Writes the message of the day (MOTD) | Help |
| write-quote.ps1 | Writes a random quote | Help |
| write-red.ps1 | Writes the given text in a red foreground color | Help |
| write-rot13.ps1 | Encodes or decodes the given text with ROT13 | Help |
| write-typewriter.ps1 | Writes the given text with the typewriter effect | Help |
| write-uppercase.ps1 | Writes the given text in uppercase letters | Help |
| write-vertical.ps1 | Writes the given text in vertical direction | Help |
Feedback
Send your email feedback to: markus [at] fleschutz [dot] de
License & Copyright
This open source project is licensed under the CC0 license. All trademarks are the property of their respective owners.
Description
500+ PowerShell scripts (.ps1) for every system!
automationcollectioncommand-linecross-platformpowershellpowershell-scriptsps1remote-controlscriptstaskstts
Readme
CC0-1.0
71 MiB
Languages
PowerShell
100%