Skip to content

Instantly share code, notes, and snippets.

View asheroto's full-sized avatar
😎

asheroto

😎
View GitHub Profile
@asheroto
asheroto / ScreenController.md
Last active August 19, 2025 20:29
PowerShell script to control monitor power state: place all displays into standby with -TurnOff or wake them with -TurnOn.

Screen Controller (PowerShell)

A simple PowerShell script to reliably control monitor/display state.

This uses the same method as when a computer display times out through normal power settings. Unlike tools like ControlMyMonitor that change monitor hardware settings and actually power off the monitor, this script uses Windows messaging to place displays into standby (not a full power-off) and runs entirely in PowerShell with no external dependencies. You can wake the screens manually by moving the mouse or pressing a key and allowing a few seconds for them to resume, or wake them remotely through the script.

Use -TurnOff to put displays into standby, or -TurnOn to wake them.

Usage

@asheroto
asheroto / Remove Webroot.ps1
Last active July 24, 2025 02:46
Forcefully removes Webroot Endpoint Protection.
# Removes Webroot SecureAnywhere by force
# Run the script once in Safe Mode, then reboot
# Webroot SecureAnywhere registry keys
$RegKeys = @(
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\WRUNINST",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\WRUNINST",
"HKLM:\SOFTWARE\WOW6432Node\WRData",
"HKLM:\SOFTWARE\WOW6432Node\WRCore",
"HKLM:\SOFTWARE\WOW6432Node\WRMIDData",
@asheroto
asheroto / README.md
Last active June 3, 2025 19:16
Running Ubiquiti UniFi Controller as a Windows Service or on Startup (simply)

Running the UniFi Network Controller as a Windows Service or on Startup

The trick to all methods is to use the java.exe built into the UniFi software, NOT the Adoptium version recommended by Ubiquiti. They are confused. You don't need to install a separate software. You don't need to mess with the JAVA_HOME variable. As long as you specific the commands exactly as shown below, it should work. Tested and confirmed working on a new Windows 11 computer.


Method 1: Using a Traditional Windows Service

  1. Open PowerShell as Administrator.
@asheroto
asheroto / README.md
Last active December 11, 2024 09:52
How to restore an offline OneDrive file. Resolving Issues with Restoring OneDrive Files from Image-Based Backups or Offline Drives.

Resolving Issues with Restoring OneDrive Files from Image-Based Backups or Offline Drives

Restoring files from an image-based backup or offline drives of a OneDrive folder can result in files appearing corrupted or inaccessible. This issue is often due to OneDrive's Files On-Demand feature, which stores placeholder files instead of the actual data locally. Additionally, even when files are fully downloaded, they may retain reparse point attributes that can prevent the files from opening correctly.

Common Scenarios Affected

This problem can occur with image-based backup solutions or when restoring files from offline drives if the backup includes placeholders instead of the actual file data. The following software are examples of those which may be impacted.

  • Acronis True Image or Cyber Protect
  • Macrium Reflect
  • Veeam Backup & Replication
@asheroto
asheroto / README.md
Last active November 12, 2024 08:46
Remove and block Webroot Web Threat Shield extension from Chrome and Edge.

Remove and Block Webroot Web Threat Shield Extension from Chrome and Edge

This PowerShell script is designed to remove and block Webroot's Web Threat Shield browser extension from Chrome and Edge.

Note: This script does not support Firefox. It specifically targets only Chrome and Edge.

When you disable Web Threat Shield within Webroot, the extension may remain installed in users' browsers. Additionally, even if you manually remove the extension, Webroot may attempt to reinstall it.

This script uses simple and safe registry modifications to remove and block the installation of the extension without requiring a browser or system restart. The browser remains open during the process.

@asheroto
asheroto / README.md
Last active August 23, 2025 18:01
Bypass Windows 11 Upgrade Assistant / PC Health Check / TPM and CPU Settings. Ignore PC Health Check results.

Bypass Windows 11 Upgrade Assistant / Setup Hardware Checks (TPM, CPU, RAM)

This PowerShell script allows you to bypass TPM 2.0, unsupported CPU, and memory checks enforced by the Windows 11 Upgrade Assistant and setup.exe from Windows installation media. It eliminates common upgrade blocks such as:

  • This PC doesn't currently meet Windows 11 system requirements.
  • TPM 2.0 must be supported and enabled on this PC.
  • The processor isn't currently supported for Windows 11.

What It Does

@asheroto
asheroto / #Wait-ForKeyOrTimeout.ps1
Last active August 6, 2024 08:36
PowerShell script to wait for a key press or countdown from a specified timeout with in-place countdown display.
Function Wait-ForKeyOrTimeout {
param (
[int]$Timeout = 10
)
for ($i = $Timeout; $i -ge 0; $i--) {
Write-Host -NoNewline "`rPress any key to close... (Closing in $i seconds) "
if ([System.Console]::KeyAvailable) {
[void][System.Console]::ReadKey($true)
@asheroto
asheroto / Get-AdobeAcrobatReaderDCUrls.ps1
Last active June 2, 2025 11:44
Retrieve direct download URLs for Adobe Reader DC by parsing the release notes page.
[CmdletBinding()]
param ()
# Function to get the latest version and download URL of Adobe Acrobat Reader DC
function Get-AdobeAcrobatReaderDCUrls {
[CmdletBinding()]
param ()
# URL of the Adobe Acrobat Reader DC release notes page
$apiUrl = 'https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html'
@asheroto
asheroto / Open-GitHubRepo.ps1
Last active October 11, 2024 17:24
Use PowerShell or CMD to open the GitHub repository for the current folder in your default web browser. Use parameters to open issues, pull requests, and more.
function Open-GitHubRepo {
param (
[switch]$Issues,
[switch]$Branches,
[switch]$PullRequests,
[switch]$Actions,
[switch]$Projects,
[switch]$Releases,
[switch]$Debug
)