**This repository provides more than 250 useful and cross-platform PowerShell scripts in the [Scripts](Scripts/) subfolder - to be used by command-line interface (CLI), for remote control (e.g. via SSH), by context menu, by voice control, by automation software like Jenkins, automatically as daily tasks, or simply to learn PowerShell. See the [FAQ page](Docs/FAQ.md) if you need help or have any questions.**
| [play-beep.ps1](Scripts/play-beep.ps1) | Plays a beep sound | [Help](Docs/play-beep.ps1.md) |
| [play-files.ps1](Scripts/play-files.ps1) | Plays the given audio files | [Help](Docs/play-files.ps1.md) |
| [play-happy-birthday.ps1](Scripts/play-happy-birthday.ps1) | Plays the Happy Birthday song | [Help](Docs/play-happy-birthday.ps1.md) |
| [play-imperial-march.ps1](Scripts/play-imperial-march.ps1) | Plays the Imperial March (Star Wars) | [Help](Docs/play-imperial-march.ps1.md) |
| [play-jingle-bells.ps1](Scripts/play-jingle-bells.ps1) | Plays Jingle Bells | [Help](Docs/play-jingle-bells.ps1.md) |
| [play-mission-impossible.ps1](Scripts/play-mission-impossible.ps1) | Plays the Mission Impossible theme | [Help](Docs/play-mission-impossible.ps1.md) |
| [play-m3u.ps1](Scripts/play-m3u.ps1) | Plays the given playlist (M3U file format) | [Help](Docs/play-m3u.ps1.md) |
| [play-mp3.ps1](Scripts/play-mp3.ps1) | Plays the given sound file (MP3 file format) | [Help](Docs/play-mp3.ps1.md) |
| [play-super-mario.ps1](Scripts/play-super-mario.ps1) | Plays the Super Mario Intro | [Help](Docs/play-super-mario.ps1.md) |
| [play-tetris-melody.ps1](Scripts/play-tetris-melody.ps1) | Plays the Tetris melody | [Help](Docs/play-tetris-melody.ps1.md) |
| [speak-checklist.ps1](Scripts/speak-checklist.ps1) | Speaks the given checklist by text-to-speech (TTS) | [Help](Docs/speak-checklist.ps1.md) |
| [speak-countdown.ps1](Scripts/speak-countdown.ps1) | Starts a countdown by text-to-speech (TTS) | [Help](Docs/speak-countdown.ps1.md) |
| [speak-date.ps1](Scripts/speak-date.ps1) | Speaks the current date by text-to-speech (TTS) | [Help](Docs/speak-date.ps1.md) |
| [speak-english.ps1](Scripts/speak-english.ps1) | Speaks the given text with an English text-to-speech (TTS) voice | [Help](Docs/speak-english.ps1.md) |
| [speak-epub.ps1](Scripts/speak-epub.ps1) | Speaks the content of the given Epub file by text-to-speech (TTS) | [Help](Docs/speak-epub.ps1.md) |
| [speak-file.ps1](Scripts/speak-file.ps1) | Speaks the content of the given text file by text-to-speech (TTS) | [Help](Docs/speak-file.ps1.md) |
| [speak-french.ps1](Scripts/speak-french.ps1) | Speaks the given text with a French text-to-speech (TTS) voice | [Help](Docs/speak-french.ps1.md) |
| [speak-german.ps1](Scripts/speak-german.ps1) | Speaks the given text with a German text-to-speech (TTS) voice | [Help](Docs/speak-german.ps1.md) |
| [speak-italian.ps1](Scripts/speak-italian.ps1) | Speaks the given text with an Italian text-to-speech (TTS) voice | [Help](Docs/speak-italian.ps1.md) |
| [speak-joke.ps1](Scripts/speak-joke.ps1) | Speaks a random Chuck Norris joke by text-to-speech (TTS) | [Help](Docs/speak-joke.ps1.md) |
| [speak-quote.ps1](Scripts/speak-quote.ps1) | Speaks a random quote by text-to-speech (TTS) | [Help](Docs/speak-quote.ps1.md) |
| [speak-spanish.ps1](Scripts/speak-spanish.ps1) | Speaks the given text with a Spanish text-to-speech (TTS) voice | [Help](Docs/speak-spanish.ps1.md) |
| [speak-test.ps1](Scripts/speak-test.ps1) | Performs a speak test by text-to-speech (TTS) | [Help](Docs/speak-test.ps1.md) |
| [speak-text.ps1](Scripts/speak-text.ps1) | Speaks the given text by text-to-speech (TTS) | [Help](Docs/speak-text.ps1.md) |
| [speak-time.ps1](Scripts/speak-time.ps1) | Speaks the current time by text-to-speech (TTS) | [Help](Docs/speak-time.ps1.md) |
| [turn-volume-up.ps1](Scripts/turn-volume-up.ps1) | Turns the audio volume up (+10% by default) | [Help](Docs/turn-volume-up.ps1.md) |
| [turn-volume-down.ps1](Scripts/turn-volume-down.ps1) | Turns the audio volume down (-10% by default) | [Help](Docs/turn-volume-down.ps1.md) |
| [unmute-audio.ps1](Scripts/unmute-audio.ps1) | Unmutes the audio device | [Help](Docs/unmute-audio.ps1.md) |
| [voice-control.ps1](Scripts/voice-control.ps1) | Executes the PowerShell scripts by voice | [Help](Docs/voice-control.ps1.md) |
| [add-firewall-rules.ps1](Scripts/add-firewall-rules.ps1) | Adds firewall rules for the given executables (needs admin rights) | [Help](Docs/add-firewall-rules.ps1.md) |
| [check-cpu-temp.ps1](Scripts/check-cpu-temp.ps1) | Checks the CPU temperature | [Help](Docs/check-cpu-temp.ps1.md) |
| [check-dns-resolution.ps1](Scripts/check-dns-resolution.ps1) | Checks the DNS resolution with frequently used domain names| [Help](Docs/check-dns-resolution.ps1.md)|
| [check-drive-space.ps1](Scripts/check-drive-space.ps1) | Checks a drive for free space left | [Help](Docs/check-drive-space.ps1.md) |
| [check-file-system.ps1](Scripts/check-file-system.ps1) | Checks the file system of a drive (needs admin rights) | [Help](Docs/check-file-system.ps1.md) |
| [check-health.ps1](Scripts/check-health.ps1) | Checks the system health | [Help](Docs/check-health.ps1.md) |
| [check-ping.ps1](Scripts/check-ping.ps1) | Checks the ping latency to the internet | [Help](Docs/check-ping.ps1.md) |
| [check-swap-space.ps1](Scripts/check-swap-space.ps1) | Checks the swap space for free space left | [Help](Docs/check-swap-space.ps1.md) |
| [check-windows-system-files.ps1](Scripts/check-windows-system-files.ps1) | Checks the validity of the Windows system files (needs admin rights) | [Help](Docs/check-windows-system-files.ps1.md) |
| [enable-crash-dumps.ps1](Scripts/enable-crash-dumps.ps1) | Enables the writing of crash dumps | [Help](Docs/enable-crash-dumps.ps1.md) |
| [hibernate.ps1](Scripts/hibernate.ps1) | Enables hibernate mode for the local computer (needs admin rights) | [Help](Docs/hibernate.ps1.md) |
| [list-drives.ps1](Scripts/list-drives.ps1) | Lists all drives | [Help](Docs/list-drives.ps1.md) |
| [list-network-shares.ps1](Scripts/list-network-shares.ps1) | Lists the network shares of the local computer | [Help](Docs/list-network-shares.ps1.md) |
| [list-installed-apps.ps1](Scripts/list-installed-apps.ps1) | Lists the installed Windows Store apps | [Help](Docs/list-installed-apps.ps1.md) |
| [list-installed-software.ps1](Scripts/list-installed-software.ps1) | Lists the installed software (except Windows Store apps) | [Help](Docs/list-installed-software.ps1.md)|
| [list-printers.ps1](Scripts/list-printers.ps1) | Lists all printer known to the computer | [Help](Docs/list-printers.ps1.md) |
| [list-print-jobs.ps1](Scripts/list-print-jobs.ps1) | Lists all jobs of all printers | [Help](Docs/list-print-jobs.ps1.md) |
| [list-processes.ps1](Scripts/list-processes.ps1) | Lists the local computer processes | [Help](Docs/list-processes.ps1.md) |
| [list-services.ps1](Scripts/list-services.ps1) | Lists the services on the local computer | [Help](Docs/list-services.ps1.md) |
| [list-system-info.ps1](Scripts/list-system-info.ps1) | Lists system information on the local computer | [Help](Docs/list-system-info.ps1.md) |
| [list-tasks.ps1](Scripts/list-tasks.ps1) | Lists all Windows scheduler tasks | [Help](Docs/list-tasks.ps1.md) |
| [list-timezone.ps1](Scripts/list-timezone.ps1) | Lists the current time zone details | [Help](Docs/list-timezone.ps1.md) |
| [list-timezones.ps1](Scripts/list-timezones.ps1) | Lists all time zones available | [Help](Docs/list-timezones.ps1.md) |
| [list-user-groups.ps1](Scripts/list-user-groups.ps1) | Lists the user groups on the local computer | [Help](Docs/list-user-groups.ps1.md) |
| [poweroff.ps1](Scripts/poweroff.ps1) | Halts the local computer (needs admin rights) | [Help](Docs/poweroff.ps1.md) |
| [query-smart-data.ps1](Scripts/query-smart-data.ps1) | Queries the S.M.A.R.T. data of your HDD/SSD's | [Help](Docs/query-smart-data.ps1.md) |
| [reboot.ps1](Scripts/reboot.ps1) | Reboots the local computer (needs admin rights) | [Help](Docs/reboot.ps1.md) |
| [remove-print-jobs.ps1](Scripts/remove-print-jobs.ps1) | Removes all jobs from all printers | [Help](Docs/remove-print-jobs.ps1.md) |
| [restart-network-adapters.ps1](Scripts/restart-network-adapters.ps1) | Restarts all local network adapters | [Help](Docs/restart-network-adapters.ps1.md)|
| [upgrade-ubuntu.ps1](Scripts/upgrade-ubuntu.ps1) | Upgrades Ubuntu Linux to the latest (LTS) release | [Help](Docs/upgrade-ubuntu.ps1.md) |
| [cd-desktop.ps1](Scripts/cd-desktop.ps1) | Change the working directory to the user's desktop folder | [Help](Docs/cd-desktop.ps1.md) |
| [cd-docs.ps1](Scripts/cd-docs.ps1) | Change the working directory to the user's documents folder | [Help](Docs/cd-docs.ps1.md) |
| [cd-downloads.ps1](Scripts/cd-downloads.ps1) | Change the working directory to the user's downloads folder | [Help](Docs/cd-downloads.ps1.md) |
| [cd-dropbox.ps1](Scripts/cd-dropbox.ps1) | Change the working directory to the user's Dropbox folder | [Help](Docs/cd-dropbox.ps1.md) |
| [cd-home.ps1](Scripts/cd-home.ps1) | Change the working directory to the user's home folder | [Help](Docs/cd-home.ps1.md) |
| [cd-music.ps1](Scripts/cd-music.ps1) | Change the working directory to the user's music folder | [Help](Docs/cd-music.ps1.md) |
| [cd-onedrive.ps1](Scripts/cd-onedrive.ps1) | Change the working directory to the user's OneDrive folder | [Help](Docs/cd-onedrive.ps1.md) |
| [cd-pics.ps1](Scripts/cd-pics.ps1) | Change the working directory to the user's pictures folder | [Help](Docs/cd-pics.ps1.md) |
| [cd-recycle-bin.ps1](Scripts/cd-recycle-bin.ps1) | Change the working directory to the user's recycle bin folder | [Help](Docs/cd-recycle-bin.ps1.md) |
| [cd-repos.ps1](Scripts/cd-repos.ps1) | Change the working directory to the user's Git repositories folder | [Help](Docs/cd-repos.ps1.md) |
| [cd-root.ps1](Scripts/cd-root.ps1) | Change the working directory to the root directory (C:\ on Windows)| [Help](Docs/cd-root.ps1.md) |
| [cd-scripts.ps1](Scripts/cd-scripts.ps1) | Change the working directory to the PowerShell Scripts folder | [Help](Docs/cd-scripts.ps1.md) |
| [cd-up.ps1](Scripts/cd-up.ps1) | Change the working directory to one directory level up | [Help](Docs/cd-up.ps1.md) |
| [cd-up2.ps1](Scripts/cd-up2.ps1) | Change the working directory to two directory levels up | [Help](Docs/cd-up2.ps1.md) |
| [cd-up3.ps1](Scripts/cd-up3.ps1) | Change the working directory to three directory levels up | [Help](Docs/cd-up3.ps1.md) |
| [cd-up4.ps1](Scripts/cd-up4.ps1) | Change the working directory to four directory levels up | [Help](Docs/cd-up4.ps1.md) |
| [cd-videos.ps1](Scripts/cd-videos.ps1) | Change the working directory to the user's videos folder | [Help](Docs/cd-videos.ps1.md) |
| [check-symlinks.ps1](Scripts/check-symlinks.ps1) | Checks every symlink in the given directory tree | [Help](Docs/check-symlinks.ps1.md) |
| [check-xml-file.ps1](Scripts/check-xml-file.ps1) | Checks the given XML file for validity | [Help](Docs/check-xml-file.ps1.md) |
| [clear-recycle-bin.ps1](Scripts/clear-recycle-bin.ps1) | Removes the content of the recycle bin folder (can not be undo!) | [Help](Docs/clear-recycle-bin.ps1.md) |
| [inspect-exe.ps1](Scripts/inspect-exe.ps1) | Prints basic information of the given executable file | [Help](Docs/inspect-exe.ps1.md) |
| [list-dir.ps1](Scripts/list-dir.ps1) | Lists the directory content (formatted in columns) | [Help](Docs/list-dir.ps1.md) |
| [list-dir-tree.ps1](Scripts/list-dir-tree.ps1) | Lists the directory tree content | [Help](Docs/list-dir-treep.ps1.md) |
| [list-empty-dirs.ps1](Scripts/list-empty-dirs.ps1) | Lists empty subfolders within the given directory tree | [Help](Docs/list-empty-dirs.ps1.md) |
| [list-empty-files.ps1](Scripts/list-empty-files.ps1) | Lists empty files within the given directory tree | [Help](Docs/list-empty-files.ps1.md) |
| [list-files.ps1](Scripts/list-files.ps1) | Lists all files in the given folder and also in every subfolder | [Help](Docs/list-files.ps1.md) |
| [list-hidden-files.ps1](Scripts/list-hidden-files.ps1) | Lists hidden files within the given directory tree | [Help](Docs/list-hidden-files.ps1.md) |
| [list-recycle-bin.ps1](Scripts/list-recycle-bin.ps1) | Lists the content of the recycle bin folder | [Help](Docs/list-recycle-bin.ps1.md) |
| [list-unused-files.ps1](Scripts/list-unused-files.ps1) | Lists unused files in a directory tree | [Help](Docs/list-unused-files.ps1.md) |
| [list-workdir.ps1](Scripts/list-workdir.ps1) | Lists the current working directory | [Help](Docs/list-workdir.ps1.md) |
| [make-install.ps1](Scripts/make-install.ps1) | Installs built executables and libs to the installation directory | [Help](Docs/make-install.ps1.md) |
| [new-shortcut.ps1](Scripts/new-shortcut.ps1) | Creates a new shortcut | [Help](Docs/new-shortcut.ps1.md) |
| [new-symlink.ps1](Scripts/new-symlink.ps1) | Creates a new symbolic link | [Help](Docs/new-symlink.ps1.md) |
| [new-zipfile.ps1](Scripts/new-zipfile.ps1) | Creates a new .zip file from a directory | [Help](Docs/new-zipfile.ps1.md) |
| [publish-to-ipfs.ps1](Scripts/publish-to-ipfs.ps1) | Publishes the given files or directory to IPFS | [Help](Docs/publish-to-ipfs.ps1.md) |
| [remove-empty-dirs.ps1](Scripts/remove-empty-dirs.ps1) | Removes empty subfolders within the given directory tree | [Help](Docs/remove-empty-dirs.ps1.md) |
| [search-filename.ps1](Scripts/search-filename.ps1) | Searches the directory tree for filenames by given pattern | [Help](Docs/search-filename.ps1.md) |
| [search-files.ps1](Scripts/search-files.ps1) | Searches the given pattern in the given files | [Help](Docs/search-files.ps1.md) |
| [upload-file.ps1](Scripts/upload-file.ps1) | Uploads the local file to the given FTP server | [Help](Docs/upload-file.ps1.md) |
| [convert-csv2txt.ps1](Scripts/convert-csv2txt.ps1) | Converts a given .CSV file to a text file | [Help](Docs/convert-csv2txt.ps1.md) |
| [convert-mysql2csv.ps1](Scripts/convert-mysql2csv.ps1) | Converts a MySQL database table to a .CSV file | [Help](Docs/convert-mysql2csv.ps1.md) |
| [convert-ps2bat.ps1](Scripts/convert-ps2bat.ps1) | Converts a PowerShell script to a .BAT file | [Help](Docs/convert-ps2bat.ps1.md) |
| [convert-ps2md.ps1](Scripts/convert-ps2md.ps1) | Converts the comment-based help of a PowerShell script to Markdown | [Help](Docs/convert-ps2md.ps1.md) |
| [convert-sql2csv.ps1](Scripts/convert-sql2csv.ps1) | Converts a SQL database table to a .CSV file | [Help](Docs/convert-sql2csv.ps1.md) |
| [clean-repos.ps1](Scripts/clean-repos.ps1) | Cleans all Git repositories under a directory from untracked files (including submodules) | [Help](Docs/clean-repos.ps1.md) |
| [configure-git.ps1](Scripts/configure-git.ps1) | Sets up the Git user configuration | [Help](Docs/configure-git.ps1.md) |
| [fetch-repo.ps1](Scripts/fetch-repo.ps1) | Fetches updates for a Git repository (including submodules) | [Help](Docs/fetch-repo.ps1.md) |
| [fetch-repos.ps1](Scripts/fetch-repos.ps1) | Fetches updates for all Git repositories under a directory (including submodules) | [Help](Docs/fetch-repos.ps1.md)|
| [list-branches.ps1](Scripts/list-branches.ps1) | Lists all branches in a Git repository | [Help](Docs/list-branches.ps1.md) |
| [list-commits.ps1](Scripts/list-commits.ps1) | Lists all commits in a Git repository | [Help](Docs/list-commits.ps1.md) |
| [list-latest-tag.ps1](Scripts/list-latest-tag.ps1) | Lists the latest tag on the current branch in a Git repository | [Help](Docs/list-latest-tag.ps1.md) |
| [list-latest-tags.ps1](Scripts/list-latest-tags.ps1) | Lists the latests tags in all Git repositories under a directory | [Help](Docs/list-latest-tags.ps1.md) |
| [list-submodules.ps1](Scripts/list-submodules.ps1) | Lists the submodules in a Git repository | [Help](Docs/list-submodules.ps1.md) |
| [list-tags.ps1](Scripts/list-tags.ps1) | Lists all tags in a Git repository | [Help](Docs/list-tags.ps1.md) |
| [make-repo.ps1](Scripts/make-repo.ps1) | Builds a Git repository | [Help](Docs/make-repo.ps1.md) |
| [make-repos.ps1](Scripts/make-repos.ps1) | Builds all Git repositories under a directory | [Help](Docs/make-repos.ps1.md) |
| [new-branch.ps1](Scripts/new-branch.ps1) | Creates a new branch in a Git repository | [Help](Docs/new-branch.ps1.md) |
| [new-tag.ps1](Scripts/new-tag.ps1) | Creates a new tag in a Git repository | [Help](Docs/new-tag.ps1.md) |
| [pull-repo.ps1](Scripts/pull-repo.ps1) | Pulls updates for a Git repository (including submodules) | [Help](Docs/pull-repo.ps1.md) |
| [pull-repos.ps1](Scripts/pull-repos.ps1) | Pulls updates for all Git repositories under a directory (including submodules) | [Help](Docs/pull-repos.ps1.md)|
| [switch-branch.ps1](Scripts/switch-branch.ps1) | Switches the branch in a Git repository (including submodules) | [Help](Docs/switch-branch.ps1.md) |
| [sync-repo.ps1](Scripts/sync-repo.ps1) | Synchronizes a Git repository by push & pull (including submodules) | [Help](Docs/sync-repo.ps1.md) |