This repository provides more than 250 useful and cross-platform PowerShell scripts in the 📂Scripts subfolder - to be used by command-line interface (CLI), for remote control (e.g. via SSH), by context menu, by voice control (see also the talk2windows repository), by automation software like Jenkins, automatically as daily tasks, or simply to learn PowerShell. See the FAQ page if you need help or have any questions.
Note: the scripts fully support Unicode characters. It's recommended to use a modern console supporting UTF-8 (e.g. Windows Terminal).
| Script | Description | Help |
|---|---|---|
| list-voices.ps1 | Lists the installed text-to-speech voices | Help |
| play-beep-sound.ps1 | Plays a short beep sound | Help |
| play-files.ps1 | Plays the given audio files | Help |
| play-happy-birthday.ps1 | Plays the Happy Birthday song | Help |
| play-imperial-march.ps1 | Plays the Imperial March (Star Wars) | Help |
| play-jingle-bells.ps1 | Plays Jingle Bells | Help |
| play-mission-impossible.ps1 | Plays the Mission Impossible theme | Help |
| play-m3u.ps1 | Plays the given playlist (M3U file format) | Help |
| play-mp3.ps1 | Plays the given sound file (MP3 file format) | Help |
| play-super-mario.ps1 | Plays the Super Mario intro | Help |
| play-tetris-melody.ps1 | Plays the Tetris melody | Help |
| speak-checklist.ps1 | Speaks the given checklist by text-to-speech | Help |
| speak-countdown.ps1 | Starts a countdown by text-to-speech | Help |
| speak-english.ps1 | Speaks the given text with an English text-to-speech voice | Help |
| speak-epub.ps1 | Speaks the content of the given Epub file by text-to-speech | Help |
| speak-file.ps1 | Speaks the content of the given text file by text-to-speech | Help |
| speak-french.ps1 | Speaks the given text with a French text-to-speech voice | Help |
| speak-german.ps1 | Speaks the given text with a German text-to-speech voice | Help |
| speak-italian.ps1 | Speaks the given text with an Italian text-to-speech voice | Help |
| speak-spanish.ps1 | Speaks the given text with a Spanish text-to-speech voice | Help |
| speak-test.ps1 | Performs a speak test by text-to-speech | Help |
| speak-text.ps1 | Speaks the given text by text-to-speech | Help |
| tell-joke.ps1 | Tell a joke by text-to-speech | Help |
| tell-quote.ps1 | Tell a quote by text-to-speech | Help |
| turn-volume-down.ps1 | Turns the audio volume down | Help |
| turn-volume-off.ps1 | Turn audio off | Help |
| turn-volume-on.ps1 | Turn audio on | Help |
| turn-volume-up.ps1 | Turns the audio volume up | Help |
| Script | Description | Help |
|---|---|---|
| add-firewall-rules.ps1 | Adds firewall rules for the given executables (needs admin rights) | Help |
| check-cpu.ps1 | Checks the CPU temperature | Help |
| check-dns.ps1 | Checks the DNS resolution | Help |
| check-drive-space.ps1 | Checks a drive for free space left | Help |
| check-file-system.ps1 | Checks the file system of a drive (needs admin rights) | Help |
| check-health.ps1 | Checks the system health | Help |
| check-ping.ps1 | Checks the ping latency to the internet | Help |
| check-swap-space.ps1 | Checks the swap space for free space left | Help |
| check-windows-system-files.ps1 | Checks the validity of the Windows system files (needs admin rights) | Help |
| enable-crash-dumps.ps1 | Enables the writing of crash dumps | Help |
| hibernate.ps1 | Enables hibernate mode for the local computer (needs admin rights) | Help |
| install-github-cli.ps1 | Installs GitHub CLI | Help |
| install-chrome-browser.ps1 | Installs the Google Chrome browser | Help |
| install-knot-resolver.ps1 | Installs the Knot Resolver (needs admin rights) | Help |
| install-ssh-client.ps1 | Installs the SSH client (needs admin rights) | Help |
| install-ssh-server.ps1 | Installs the SSH server (needs admin rights) | Help |
| install-signal-cli.ps1 | Installs signal-cli from github.com/AsamK/signal-cli | Help |
| install-updates.ps1 | Installs updates (need admin rights) | Help |
| install-wsl.ps1 | Installs Windows Subsystem for Linux (WSL), needs admin rights | Help |
| list-cli-tools.ps1 | Lists available command-line interface (CLI) tools | Help |
| list-drives.ps1 | Lists all drives | Help |
| list-network-shares.ps1 | Lists all network shares of the local computer | Help |
| list-installed-apps.ps1 | Lists the installed Windows Store apps | Help |
| list-installed-software.ps1 | Lists the installed software (except Windows Store apps) | Help |
| list-printers.ps1 | Lists all printer known to the computer | Help |
| list-print-jobs.ps1 | Lists all jobs of all printers | Help |
| list-processes.ps1 | Lists the local computer processes | Help |
| list-services.ps1 | Lists the services on the local computer | Help |
| list-system-info.ps1 | Lists system information on the local computer | Help |
| list-tasks.ps1 | Lists all Windows scheduler tasks | Help |
| list-timezone.ps1 | Lists the current time zone details | Help |
| list-timezones.ps1 | Lists all time zones available | Help |
| list-user-groups.ps1 | Lists the user groups on the local computer | Help |
| poweroff.ps1 | Halts the local computer (needs admin rights) | Help |
| query-smart-data.ps1 | Queries the S.M.A.R.T. data of your HDD/SSD's | Help |
| reboot.ps1 | Reboots the local computer (needs admin rights) | Help |
| remove-print-jobs.ps1 | Removes all jobs from all printers | Help |
| restart-network-adapters.ps1 | Restarts all local network adapters | Help |
| upgrade-ubuntu.ps1 | Upgrades Ubuntu Linux to the latest (LTS) release | Help |
| wakeup.ps1 | Sends a magic packet to a computer to wake him up | Help |
| 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 |
| 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 | Encrypts 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 |
| Script | Description | Help |
|---|---|---|
| convert-csv2txt.ps1 | Converts a given .CSV file to a text file | Help |
| convert-mysql2csv.ps1 | Converts a MySQL database table to a .CSV file | Help |
| convert-ps2bat.ps1 | Converts a PowerShell script to a .BAT file | Help |
| convert-ps2md.ps1 | Converts the comment-based help of a PowerShell script to Markdown | Help |
| convert-sql2csv.ps1 | Converts a SQL database table to a .CSV file | Help |
| convert-txt2wav.ps1 | Converts text to a .WAV audio file | Help |
| export-to-manuals.ps1 | Exports all scripts as manuals | Help |
| export-to-serenade.ps1 | Exports all scripts to Serenade for voice control | Help |
| Script | Description | Help |
|---|---|---|
| build-repo.ps1 | Builds a Git repository | Help |
| build-repos.ps1 | Builds all Git repositories in a folder | Help |
| clean-repo.ps1 | Cleans a Git repository from untracked files (including submodules) | Help |
| clean-repos.ps1 | Cleans all Git repositories in a folder from untracked files (including submodules) | Help |
| clone-repos.ps1 | Clones well-known Git repositories | Help |
| configure-git.ps1 | Sets up the Git user configuration | Help |
| fetch-repo.ps1 | Fetches updates for a Git repository (including submodules) | Help |
| fetch-repos.ps1 | Fetches updates for all Git repositories in a folder (including submodules) | Help |
| list-branches.ps1 | Lists all branches in a Git repository | Help |
| list-commits.ps1 | Lists all commits in a Git repository | Help |
| list-latest-tag.ps1 | Lists the latest tag on the current branch in a Git repository | Help |
| list-latest-tags.ps1 | Lists the latests tags in all Git repositories under a directory | Help |
| list-submodules.ps1 | Lists the submodules in a Git repository | Help |
| list-tags.ps1 | Lists all tags in a Git repository | Help |
| new-branch.ps1 | Creates a new branch in a Git repository | Help |
| new-tag.ps1 | Creates a new tag in a Git repository | Help |
| pick-commit.ps1 | Cherry-picks a Git commit into multiple branches | Help |
| pull-repo.ps1 | Pulls updates for a Git repository (including submodules) | Help |
| pull-repos.ps1 | Pulls updates for all Git repositories in a folder (including submodules) | Help |
| remove-tag.ps1 | Removes a tag in a Git repository | Help |
| switch-branch.ps1 | Switches the branch in a Git repository (including submodules) | Help |
| sync-repo.ps1 | Synchronizes a Git repository by push & pull (including submodules) | Help |
| Script | Description | Help |
|---|---|---|
| daily-tasks.sh | Execute PowerShell scripts automatically as daily tasks (Linux only) | Help |
| introduce-powershell.ps1 | Introduces PowerShell to new users | Help |
| list-aliases.ps1 | Lists all PowerShell aliases | Help |
| list-automatic-variables.ps1 | Lists the automatic variables of PowerShell | Help |
| list-cheat-sheet.ps1 | Lists the PowerShell cheat sheet | Help |
| list-cmdlets.ps1 | Lists the PowerShell cmdlets | Help |
| list-console-colors.ps1 | Lists all console colors | Help |
| list-modules.ps1 | Lists the PowerShell modules | Help |
| list-profiles.ps1 | Lists your PowerShell profiles | Help |
| list-scripts.ps1 | Lists all PowerShell scripts in this repository | Help |
| new-script.ps1 | Creates a new PowerShell script | Help |
| set-profile.ps1 | Updates your PowerShell user profile | Help |
Send your email feedback to: markus [at] fleschutz [dot] de
This open source project is licensed under the CC0 license. All registered trademarks are the property of their respective owners.
