Skip to content

Instantly share code, notes, and snippets.

View ThioJoe's full-sized avatar

ThioJoe

View GitHub Profile
@ThioJoe
ThioJoe / DisableUSBPowerManagement.ps1
Last active June 26, 2026 19:00
PowerShell script to disable Windows power management on all currently connected serial ports, including most (if not all) USB devices and adapters.
# PowerShell script to disable Windows power management on all currently connected serial ports, including USB adapters
# In simpler terms, it prevents Windows from turning off connected serial devices to save power.
# Equivalent to right-clicking on a serial port device in Device Manager > Properties > "Power Management" Tab > Unchecking "Allow the computer to turn off this device to save power."
$hubs = Get-CimInstance -ClassName Win32_SerialPort | Select-Object Name, DeviceID, Description
$powerMgmt = Get-CimInstance -ClassName MSPower_DeviceEnable -Namespace root\wmi
foreach ($p in $powerMgmt) {
$IN = $p.InstanceName.ToUpper()
foreach ($h in $hubs) {
@ThioJoe
ThioJoe / Appx-Uninstaller.ps1
Last active June 17, 2026 11:40
A basic script for uninstalling a list of app packages in Windows 10/11, including those pre-installed with Windows
# A basic script for uninstalling app packages in Windows 10/11, including those pre-installed with Windows
#
# Note: If you get an error about the script not being allowed to run, the below command will change the execution polciy temporarily for one session only:
# Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
#
# To execute the script, open a Powershell window to the directory with the script and run the following command using your scripts file name (and don't forget the .\ )
# .\WhateverScriptName.ps1
# -------------------------------------------------------------------------------------------
# Script by ThioJoe - https://github.com/ThioJoe
@ThioJoe
ThioJoe / Copy-GPU-Drivers-VM.ps1
Last active June 11, 2026 23:15
PowerShell script to copy GPU drivers to Hyper-V Virtual Machine for passthrough.
# Description: This script will automatically copy the necessary GPU drivers from your current host machine into a Hyper-V Virtual Machine
# so you can pass through the GPU to the VM. You should run this whenever you update your graphics drivers on the host.
#
# Author: ThioJoe -- https://github.com/ThioJoe
#
# Note: Currently this only works for Nvidia GPUs. But it does support if you have multiple GPUs.
#
# OPTIONAL ARGUMENTS:
# -debug | Enables debug messages that pause the script for each step (No additional string required, just add -debug)
# -name | Sets the virtual machine name so it doesn't need to ask
@ThioJoe
ThioJoe / Error-Lookup-Tool-Friendly.bat
Last active May 12, 2026 17:36
Error Lookup Tool Friendly Output
@echo off
:: Note: Lines beginning with "REM" or :: are comments
:: Script by: https://github.com/thiojoe
:: Purpose: Creates a much more user friendly output for the Microsoft Error Lookup Tool (err.exe). It parses the original output and modifies the text.
:: Usage: Just call the batch file with command prompt along with the error code the same as you would with err.exe
:: Example: error.bat 50
:: Recommended to rename this script to something shorter like 'error.bat'. Must be next to the lookup tool exe file.
@ThioJoe
ThioJoe / cheat.bat
Last active May 10, 2026 02:34
"Cheat" Command Wrapper Script - Makes it easier to search specific terms with 'cheat' tool. Recommended to rename to "c.bat" for easy calling.
:: -----------------------------------------------------------------------------------------
:: Cheat Command Wrapper Script
:: -----------------------------------------------------------------------------------------
:: This batch script acts as a wrapper for 'cheat.exe', enhancing its functionality
:: by allowing more intuitive command-line interactions. Specifically, it:
::
:: 1. Directly accesses cheatsheets or tags with a single argument.
:: 2. Facilitates search within a cheatsheet using multiple arguments, treating them
:: as a single search query.
:: 3. Dynamically resolves the paths to the community and personal cheatsheets
@ThioJoe
ThioJoe / Allocate-GPUs-VM.ps1
Last active March 25, 2026 17:11
PowerShell script to allocate and pass through GPU to Hyper-V Virtual Machine
# Script to easily set resource allocation for GPUs to be passed through into a Hyper-V VM
#
# Author: ThioJoe / https://github.com/thiojoe
#
### Instructions for copying drivers to VM - Will likely need to do this before running this script
# NOTE: Instead of manually copying the files, if you have an Nvidia GPU you can use my other script called "Copy-GPU-Drivers-VM.ps1" to do it automatically
# 1. Open C:\Windows\System32 on host machine and copy any files beginning with "nv" (Except nvspinfo.exe and NvAgent.dll , which are unrelated)
# 2. Place those files into the System32 folder on the VM
# 3. On the VM, create the following directory: C:\Windows\System32\HostDriverStore\FileRepository
# 4. For Nvidia GPUs, open C:\Windows\System32\DriverStore\FileRepository, copy any folders beginning with "nv_" (The number of folders should match the number of GPUs, or at least number of different models of GPU)
@ThioJoe
ThioJoe / GetSuperHiddenExtensions.ps1
Last active February 10, 2026 20:38
This PowerShell script finds file extensions that are not shown even when Windows is set to show extensions, then outputs the results to a csv file spreadsheet
# This script will search through the Windows Registry to find file extensions that are not shown even when the "Hide extensions for known file types" option is disabled.
# It does this by looking for file types with the NeverShowExt property set, as well as any CLSID references associated with the file types.
# Author: ThioJoe
# Updated: 9/4/2024 (First Version)
#
# How to Use:
# 1. Open PowerShell and navigate to the path containing this script using the 'cd' command.
# 2. Run the following command to allow running scripts for the current session:
# Set-ExecutionPolicy -ExecutionPolicy unrestricted -Scope Process
# 3. Without closing the PowerShell window, run the script by typing the name of the script file starting with .\ for example:
@ThioJoe
ThioJoe / !AddCompressToMenu -- How-To-Use.txt
Last active November 30, 2025 23:36
Add "Compress To" Option to Old Windows 11 Start Menu - Registry Tweak
How To Use:
1. Choose which version you want to use:
- "Full Menu" Version: The same as the original one in the new context menu, and has multiple sub-menu items
- Other Version: Doesn't have a sub-menu, it just directly opens the "Create Archive" menu. (The equivalent of clicking the "Additional Options" sub-item in the original)
2. Double click the "Add_" reg file of whichever version you choose
3. Restart Windows Explorer
- You can restart it by opening Task Manager with Ctrl+Shift+Esc, then search it for "Windows Explorer", right click that and hit "Restart"
@ThioJoe
ThioJoe / Icon-Source-Finder.ps1
Last active July 1, 2025 18:01
PowerShell script that finds the icon source for a given file, including system files.
# This PowerShell script finds the icon source for a given file.
# It first tries to extract the icon from the associated executable,
# and if not found, it looks up the icon in the Windows Registry.
# Author: ThioJoe / GitHub.com/ThioJoe
param(
[string]$initialFilePath # Initial file path parameter for direct execution
)
# Function to prompt the user for a file path.
@ThioJoe
ThioJoe / CombineTextFiles.ps1
Created September 9, 2024 17:48
PowerShell Script to combine files in a directory into a single text file
param(
[string]$FolderPath,
[string]$Extension = "txt",
[ValidateSet("name", "date", "name-reverse", "date-reverse")]
[string]$Sort = "name",
[switch]$Recursive
)
Write-Host "------------------------------------------------------------------------------------------------"
Write-Host ""