**This repository provides more than 500 useful and cross-platform PowerShell scripts in the [📂Scripts](Scripts/) subfolder - to be used by command-line interface (CLI), for remote control (via SSH), by context menu, by voice control (see repo [talk2windows](https://github.com/fleschutz/talk2windows)), by automation software (e.g. [Jenkins](https://www.jenkins.io/)), automatically on login/logoff/daily/etc., or simply to learn PowerShell.**
**[Download](https://github.com/fleschutz/PowerShell/releases) | [FAQ](Docs/FAQ.md)** | **Note:** the scripts support Unicode - a modern console is recommended (e.g. *Windows Terminal*)
| [check-drive-space.ps1](Scripts/check-drive-space.ps1) | Checks a drive for free space left | [Help](Docs/check-drive-space.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.md) |
| [check-health.ps1](Scripts/check-health.ps1) | Checks the system health | [Help](Docs/check-health.md) |
| [check-ping.ps1](Scripts/check-ping.ps1) | Checks the ping latency to the internet | [Help](Docs/check-ping.md) |
| [check-swap-space.ps1](Scripts/check-swap-space.ps1) | Checks the swap space for free space left | [Help](Docs/check-swap-space.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.md) |
| [enable-crash-dumps.ps1](Scripts/enable-crash-dumps.ps1) | Enables the writing of crash dumps | [Help](Docs/enable-crash-dumps.md) |
| [hibernate.ps1](Scripts/hibernate.ps1) | Enables hibernate mode for the local computer (needs admin rights) | [Help](Docs/hibernate.md) |
| [list-installed-software.ps1](Scripts/list-installed-software.ps1) | Lists the installed software (except Windows Store apps) | [Help](Docs/list-installed-software.md)|
| [list-printers.ps1](Scripts/list-printers.ps1) | Lists all printer known to the computer | [Help](Docs/list-printers.md) |
| [list-print-jobs.ps1](Scripts/list-print-jobs.ps1) | Lists all jobs of all printers | [Help](Docs/list-print-jobs.md) |
| [list-processes.ps1](Scripts/list-processes.ps1) | Lists the local computer processes | [Help](Docs/list-processes.md) |
| [list-services.ps1](Scripts/list-services.ps1) | Lists the services on the local computer | [Help](Docs/list-services.md) |
| [list-system-info.ps1](Scripts/list-system-info.ps1) | Lists system information on the local computer | [Help](Docs/list-system-info.md) |
| [list-tasks.ps1](Scripts/list-tasks.ps1) | Lists all Windows scheduler tasks | [Help](Docs/list-tasks.md) |
| [list-timezone.ps1](Scripts/list-timezone.ps1) | Lists the current time zone details | [Help](Docs/list-timezone.md) |
| [list-timezones.ps1](Scripts/list-timezones.ps1) | Lists all time zones available | [Help](Docs/list-timezones.md) |
| [list-user-groups.ps1](Scripts/list-user-groups.ps1) | Lists the user groups on the local computer | [Help](Docs/list-user-groups.md) |
| [poweroff.ps1](Scripts/poweroff.ps1) | Halts the local computer (needs admin rights) | [Help](Docs/poweroff.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.md) |
| [reboot.ps1](Scripts/reboot.ps1) | Reboots the local computer (needs admin rights) | [Help](Docs/reboot.md) |
| [remove-print-jobs.ps1](Scripts/remove-print-jobs.ps1) | Removes all jobs from all printers | [Help](Docs/remove-print-jobs.md) |
| [restart-network-adapters.ps1](Scripts/restart-network-adapters.ps1) | Restarts all local network adapters | [Help](Docs/restart-network-adapters.md)|
| [upgrade-ubuntu.ps1](Scripts/upgrade-ubuntu.ps1) | Upgrades Ubuntu Linux to the latest (LTS) release | [Help](Docs/upgrade-ubuntu.md) |
| [wakeup.ps1](Scripts/wakeup.ps1) | Sends a magic packet to a computer to wake him up | [Help](Docs/wakeup.md) |
| [check-symlinks.ps1](Scripts/check-symlinks.ps1) | Checks every symlink in a directory tree | [Help](Docs/check-symlinks.md) |
| [check-xml-file.ps1](Scripts/check-xml-file.ps1) | Checks the given XML file for validity | [Help](Docs/check-xml-file.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.md) |
| [list-hidden-files.ps1](Scripts/list-hidden-files.ps1) | Lists hidden files within the given directory tree | [Help](Docs/list-hidden-files.md) |
| [list-recycle-bin.ps1](Scripts/list-recycle-bin.ps1) | Lists the content of the recycle bin folder | [Help](Docs/list-recycle-bin.md) |
| [list-unused-files.ps1](Scripts/list-unused-files.ps1) | Lists unused files in a directory tree | [Help](Docs/list-unused-files.md) |
| [list-workdir.ps1](Scripts/list-workdir.ps1) | Lists the current working directory | [Help](Docs/list-workdir.md) |
| [make-install.ps1](Scripts/make-install.ps1) | Installs built executables and libs to the installation directory | [Help](Docs/make-install.md) |
| [new-shortcut.ps1](Scripts/new-shortcut.ps1) | Creates a new shortcut file | [Help](Docs/new-shortcut.md) |
| [new-symlink.ps1](Scripts/new-symlink.ps1) | Creates a new symbolic link file | [Help](Docs/new-symlink.md) |
| [new-zipfile.ps1](Scripts/new-zipfile.ps1) | Creates a new .zip file from a directory | [Help](Docs/new-zipfile.md) |
| [publish-to-ipfs.ps1](Scripts/publish-to-ipfs.ps1) | Publishes the given files or directory to IPFS | [Help](Docs/publish-to-ipfs.md) |
| [remove-empty-dirs.ps1](Scripts/remove-empty-dirs.ps1) | Removes empty subfolders within the given directory tree | [Help](Docs/remove-empty-dirs.md) |
| [replace-in-files.ps1](Scripts/replace-in-files.ps1) | Search and replace a pattern in the given files by the replacement | [Help](Docs/replace-in-files.md) |
| [convert-csv2txt.ps1](Scripts/convert-csv2txt.ps1) | Converts a .CSV file to a text file. [Read more...](Docs/convert-csv2txt.md) |
| [convert-mysql2csv.ps1](Scripts/convert-mysql2csv.ps1) | Converts a MySQL database table to a .CSV file. [Read more...](Docs/convert-mysql2csv.md) |
| [convert-ps2bat.ps1](Scripts/convert-ps2bat.ps1) | Converts a PowerShell script to a Batch script. [Read more...](Docs/convert-ps2bat.md) |
| [convert-ps2md.ps1](Scripts/convert-ps2md.ps1) | Converts the comment-based help of a PowerShell script to Markdown. [Read more...](Docs/convert-ps2md.md) |
| [convert-sql2csv.ps1](Scripts/convert-sql2csv.ps1) | Converts a SQL database table to a .CSV file. [Read more...](Docs/convert-sql2csv.md) |
| [convert-txt2wav.ps1](Scripts/convert-txt2wav.ps1) | Converts text to a .WAV audio file. [Read more...](Docs/convert-txt2wav.md) |
| [export-to-manuals.ps1](Scripts/export-to-manuals.ps1) | Exports all scripts as manuals. [Read more...](Docs/export-to-manuals.md) |
| [configure-git.ps1](Scripts/configure-git.ps1) | Sets up the Git user configuration. [Read more...](Docs/configure-git.md) |
| [fetch-repo.ps1](Scripts/fetch-repo.ps1) | Fetches updates for a Git repository. [Read more...](Docs/fetch-repo.md) |
| [fetch-repos.ps1](Scripts/fetch-repos.ps1) | Fetches updates for all Git repositories in a folder. [Read more...](Docs/fetch-repos.md) |
| [list-branches.ps1](Scripts/list-branches.ps1) | Lists all branches in a Git repository. [Read more...](Docs/list-branches.md) |
| [list-commits.ps1](Scripts/list-commits.ps1) | Lists all commits in a Git repository. [Read more...](Docs/list-commits.md) |
| [list-latest-tag.ps1](Scripts/list-latest-tag.ps1) | Lists the latest tag on the current branch in a Git repository. [Read more...](Docs/list-latest-tag.md) |
| [list-latest-tags.ps1](Scripts/list-latest-tags.ps1) | Lists the latests tags in all Git repositories under a directory. [Read more...](Docs/list-latest-tags.md) |
| [list-repos.ps1](Scripts/list-repos.ps1) | Lists the Git repositories in a folder. [Read more...](Docs/list-repos.md) |
| [list-submodules.ps1](Scripts/list-submodules.ps1) | Lists the submodules in a Git repository. [Read more...](Docs/list-submodules.md) |
| [list-tags.ps1](Scripts/list-tags.ps1) | Lists all tags in a Git repository. [Read more...](Docs/list-tags.md) |
| [new-branch.ps1](Scripts/new-branch.ps1) | Creates a new branch in a Git repository. [Read more...](Docs/new-branch.md) |
| [new-tag.ps1](Scripts/new-tag.ps1) | Creates a new tag in a Git repository. [Read more...](Docs/new-tag.md) |
| [pick-commit.ps1](Scripts/pick-commit.ps1) | Cherry-picks a Git commit into multiple branches. [Read more...](Docs/pick-commit.md) |
| [pull-repo.ps1](Scripts/pull-repo.ps1) | Pulls updates for a Git repository. [Read more...](Docs/pull-repo.md) |
| [pull-repos.ps1](Scripts/pull-repos.ps1) | Pulls updates for all Git repositories in a folder. [Read more...](Docs/pull-repos.md) |
| [remove-tag.ps1](Scripts/remove-tag.ps1) | Removes a tag in a Git repository. [Read more...](Docs/remove-tag.md) |
| [switch-branch.ps1](Scripts/switch-branch.ps1) | Switches the branch in a Git repository. [Read more...](Docs/switch-branch.md) |
| [sync-repo.ps1](Scripts/sync-repo.ps1) | Synchronizes a Git repository by push & pull. [Read more...](Docs/sync-repo.md) |
| [add-memo.ps1](Scripts/add-memo.ps1) | Adds the given memo text to $HOME/Memos.csv | [Help](Docs/add-memo.md) |
| [check-ipv4-address.ps1](Scripts/check-ipv4-address.ps1)| Checks the given IPv4 address for validity | [Help](Docs/check-ipv4-address.md) |
| [check-ipv6-address.ps1](Scripts/check-ipv6-address.ps1)| Checks the given IPv6 address for validity | [Help](Docs/check-ipv6-address.md) |
| [check-mac-address.ps1](Scripts/check-mac-address.ps1)| Checks the given MAC address for validity | [Help](Docs/check-mac-address.md) |
| [check-subnet-mask.ps1](Scripts/check-subnet-mask.ps1)| Checks the given subnet mask for validity | [Help](Docs/check-subnet-mask.md) |
| [check-weather.ps1](Scripts/check-weather.ps1) | Checks the current weather for critical values | [Help](Docs/check-weather.md) |
| [display-time.ps1](Scripts/display-time.ps1) | Displays the current time for 10 seconds by default | [Help](Docs/display-time.md) |
| [list-anagrams.ps1](Scripts/list-anagrams.ps1) | Lists all anagrams of the given word | [Help](Docs/list-anagrams.md) |
| [list-city-weather.ps1](Scripts/list-city-weather.ps1)| Lists the current weather of cities worldwide (west to east) | [Help](Docs/list-city-weather.md) |
| [list-countries.ps1](Scripts/list-countries.ps1) | Lists details of all countries | [Help](Docs/list-countries.md) |
| [list-credits.ps1](Scripts/list-credits.ps1) | Shows the credits | [Help](Docs/list-credits.md) |
| [list-crypto-rates.ps1](Scripts/list-crypto-rates.ps1)| Lists the current crypto exchange rates | [Help](Docs/list-crypto-rates.md) |
| [list-environment-variables.ps1](Scripts/list-environment-variables.ps1)| Lists all environment variables | [Help](Docs/list-environment-variables.md)|
| [list-emojis.ps1](Scripts/list-emojis.ps1) | Lists the emojis of Unicode 13.0 | [Help](Docs/list-emojis.md) |
| [list-fritzbox-calls.ps1](Scripts/list-fritzbox-calls.ps1)| Lists the FRITZ!Box calls | [Help](Docs/list-fritzbox-calls.md) |
| [list-fritzbox-devices.ps1](Scripts/list-fritzbox-devices.ps1)| Lists FRITZ!Box's known devices | [Help](Docs/list-fritzbox-devices.md) |
| [list-earthquakes.ps1](Scripts/list-earthquakes.ps1) | Lists earthquakes with magnitude >= 6.0 for the last 30 days | [Help](Docs/list-earthquakes.md) |
| [list-exchange-rates.ps1](Scripts/list-exchange-rates.ps1)| Lists the current exchange rates for the given currency | [Help](Docs/list-exchange-rates.md) |
| [list-memos.ps1](Scripts/list-memos.ps1) | Lists the memos at $HOME/Memos.csv | [Help](Docs/list-memos.md) |
| [list-mysql-tables.ps1](Scripts/list-mysql-tables.ps1)| Lists the MySQL server tables | [Help](Docs/list-mysql-tables.md) |