To install Chocolatey via Powershell:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Or via Command prompt:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Chocolatey apps to install:
Command prompt:
@echo off setlocal set “choco_path=%ProgramData%\chocolatey\bin\choco.exe” if not exist “%choco_path%” ( echo Chocolatey is not installed. Please install it first from https://chocolatey.org/install exit /b 1 ) “%choco_path%” install microsoft-edge notepadplusplus.install 7zip.install vlc greenshot bitwarden foxitreader vcredist-all directx dotnetfx dotnet3.5 dotnet4.5 microsoft-windows-terminal powershellhere-elevated treesizefree dismplusplus rufus.portable hashcheck path-copy-copy processhacker winaero-tweaker hwinfo.install open-shell nsudo geekuninstaller autoruns nvidia-display-driver cuda disable-nvidia-telemetry nvidia-profile-inspector ddu discord.install teamspeak obs-studio.install audacity avidemux jdk8 jre8 openvpn-connect wireguard vscode.install anydesk.install pycharm python3 libreoffice-fresh authy-desktop capture2text ea-app epicgameslauncher steam ubisoft-connect git netlimiter microsoft-teams youtube-dl-gui -y
Powershell:
$choco_path = “$env:ProgramData\chocolatey\bin\choco.exe” if (-not (Test-Path $choco_path)) { Write-Host “Chocolatey is not installed. Please install it first from https://chocolatey.org/install” exit 1 } & $choco_path install microsoft-edge notepadplusplus.install 7zip.install vlc greenshot bitwarden foxitreader vcredist-all directx dotnetfx dotnet3.5 dotnet4.5 microsoft-windows-terminal powershellhere-elevated treesizefree dismplusplus rufus.portable hashcheck path-copy-copy processhacker winaero-tweaker hwinfo.install open-shell nsudo geekuninstaller autoruns nvidia-display-driver cuda disable-nvidia-telemetry nvidia-profile-inspector ddu discord.install teamspeak obs-studio.install audacity avidemux jdk8 jre8 openvpn-connect wireguard vscode.install anydesk.install pycharm python3 libreoffice-fresh authy-desktop capture2text ea-app epicgameslauncher steam ubisoft-connect git netlimiter microsoft-teams youtube-dl-gui -y
Please note that you need to run this script with administrative privileges as changing network settings typically requires admin rights. It will change your MTU value to 1492. Make sure to eventually replace "Ethernet" with your actual adapter name.
# Open PowerShell with administrative privileges
Start-Process powershell -Verb runAs
# Show the IPv4 subinterface
netsh interface ipv4 show subinterface
# Set the MTU for the 'Ethernet' subinterface to 1492 and store the setting persistently
netsh interface ipv4 set subinterface "Ethernet" mtu=1492 store=persistent
This script cleans your cached memory every 10 minutes, if the cached memory is higher than 8GB.
Using Empty Standby List is a great alternative. Create SYSTEM task in your Task Schedular, that runs every 10 minutes, hidden and with highest privileges, indefinitely.
@echo off
:loop
set "free_memory="
for /f "tokens=2" %%a in ('typeperf "\Memory\Cache Bytes" -sc 1 ^| findstr /r /c:"[0-9][0-9]*\.[0-9][0-9]*"') do set "free_memory=%%a"
if defined free_memory (
set /a "free_memory_gb=free_memory / 1024 / 1024 / 1024"
if %free_memory_gb% gtr 8 (
echo Clearing standby memory...
wmic.exe /Namespace:\\root\cimv2 Path Win32_PerfFormattedData_PerfOS_Memory Call EmptyWorkingSet
echo Standby memory cleared.
)
)
timeout /t 600 /nobreak >nul
goto loop
I find it annoying, to do it manually, so I did create a script for this reason. Add it to your task schedular and let it run daily with system privileges.
@echo off
echo Deleting all restore points...
vssadmin delete shadows /all /quiet
if %errorlevel% == 0 (
echo Restore points deleted successfully.
) else (
echo Failed to delete restore points.
)
echo Creating a new restore point...
wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "Custom Restore Point", 100, 7
if %errorlevel% == 0 (
echo Restore point created successfully.
) else (
echo Failed to create restore point.
)
<?xml version="1.0"?>
<Settings component="StartMenu" version="4.4.142">
<MenuStyle value="Classic1"/>
<ShiftClick value="ClassicMenu"/>
<WinKey value="ClassicMenu"/>
<ShiftWin value="Nothing"/>
<ShiftRight value="1"/>
<Computer value="Show"/>
<Documents value="Hide"/>
<UserFiles value="Hide"/>
<UserDocuments value="Hide"/>
<UserPictures value="Hide"/>
<ControlPanel value="Show"/>
<ControlPanelCategories value="0"/>
<Shutdown value="Show"/>
<LogOff value="0"/>
<ConfirmLogOff value="1"/>
<Undock value="1"/>
<Search value="0"/>
<Help value="0"/>
<HideProgramsMetro value="0"/>
<RecentPrograms value="None"/>
<EnableJumplists value="0"/>
<HybridShutdown value="0"/>
<StartScreenShortcut value="0"/>
<HighlightNew value="0"/>
<CheckWinUpdates value="0"/>
<ExpandFolderLinks value="0"/>
<DelayIcons value="0"/>
<SearchBox value="Normal"/>
<SearchTrack value="0"/>
<SearchAutoComplete value="0"/>
<SearchInternet value="0"/>
<MenuShadow value="0"/>
<EnableGlass value="0"/>
<SkinC1 value="Classic Skin"/>
<SkinVariationC1 value=""/>
<SkinOptionsC1>
<Line>CAPTION=1</Line>
<Line>USER_IMAGE=0</Line>
<Line>USER_NAME=0</Line>
<Line>CENTER_NAME=0</Line>
<Line>SMALL_ICONS=0</Line>
<Line>THICK_BORDER=0</Line>
<Line>SOLID_SELECTION=0</Line>
</SkinOptionsC1>
<SkipMetro value="1"/>
<MenuItems1>
<Line>Items=ComputerItem,ControlPanelItem,PCSettingsItem,MenuSettingsItem,SEPARATOR,CustomItem4,CustomItem6,CustomItem3,CustomItem2,CustomItem,CustomItem5,RunItem,SEPARATOR,ShutdownBoxItem,SearchBoxItem</Line>
<Line>ComputerItem.Command=computer</Line>
<Line>ControlPanelItem.Command=control_panel</Line>
<Line>ControlPanelItem.Label=$Menu.ControlPanel</Line>
<Line>ControlPanelItem.Tip=$Menu.ControlPanelTip</Line>
<Line>ControlPanelItem.Icon=shell32.dll,137</Line>
<Line>ControlPanelItem.Settings=TRACK_RECENT</Line>
<Line>PCSettingsItem.Command=pc_settings</Line>
<Line>PCSettingsItem.Label=$Menu.PCSettings</Line>
<Line>PCSettingsItem.Icon=%windir%\ImmersiveControlPanel\SystemSettings.exe,10</Line>
<Line>PCSettingsItem.Settings=TRACK_RECENT</Line>
<Line>MenuSettingsItem.Command=menu_settings</Line>
<Line>MenuSettingsItem.Label=$Menu.ClassicSettings</Line>
<Line>MenuSettingsItem.Tip=$Menu.SettingsTip</Line>
<Line>MenuSettingsItem.Icon=,1</Line>
<Line>CustomItem4.Link=%windir%\system32\services.msc</Line>
<Line>CustomItem4.Label=SERV</Line>
<Line>CustomItem6.Link=C:\Windows\system32\devmgmt.msc</Line>
<Line>CustomItem6.Label=DM</Line>
<Line>CustomItem3.Link=C:\Windows\regedit.exe</Line>
<Line>CustomItem3.Label=REG</Line>
<Line>CustomItem2.Command=%windir%\system32\taskschd.msc /s</Line>
<Line>CustomItem2.Label=TS</Line>
<Line>CustomItem2.Icon=%windir%\system32\miguiresource.dll, 600</Line>
<Line>CustomItem.Link=C:\Windows\System32\cmd.exe</Line>
<Line>CustomItem.Label=CMD</Line>
<Line>CustomItem5.Link=%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe</Line>
<Line>CustomItem5.Label=PS</Line>
<Line>RunItem.Command=RUN</Line>
<Line>RunItem.Label=$Menu.Run</Line>
<Line>RunItem.Tip=$Menu.RunTip</Line>
<Line>RunItem.Icon=shell32.dll,328</Line>
<Line>ShutdownBoxItem.Command=shutdown_box</Line>
<Line>ShutdownBoxItem.Label=$Menu.ShutdownBox</Line>
<Line>ShutdownBoxItem.Icon=shell32.dll,329</Line>
<Line>ShutdownBoxItem.Settings=SPLIT</Line>
<Line>SearchBoxItem.Command=search_box</Line>
<Line>SearchBoxItem.Label=$Menu.SearchBox</Line>
<Line>SearchBoxItem.Icon=none</Line>
<Line>SearchBoxItem.Settings=OPEN_UP|TRACK_RECENT</Line>
</MenuItems1>
</Settings>
Aside from the build-in option in Windows, apps do it sometimes anyways, even when you disable it via app directly. Here is a workaround for that.
1. Download these files here and extract them
2. In the file lock_mic_vol.bat the default value is 65536 which equals 100%, so if you want to make the volume lock onto 50% then just do some simple math ((65536/100)*50) which will give you 32768, so replace 65536 with 32768, to lock it permanent on 50% volume.
3. Go to the directory C:\Windows and paste the files hide_cmd_window2.vbs, lock_mic_vol.bat & nircmdc.exe
4. Then you can run the file start_lock_mic_vol.bat
5. Optional: If you want to make this run automatically at startup then paste this file in the directory C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Source here.
Error message: Detected NVIDIA GeForce driver version xxx.yy. The required driver version is xxx.yy or later.
To bypass it, navigate to the system32 path and relocate the file "nvapi64.dll" to your desktop or an alternative location.
You can also use me two scripts below for this. The first one moves it to your desktop, with admin rights, the second one reverts it. Run both as admin with PowerShell (ps script).
NOTE: You won't be able to OBS anymore, without the original file in the location.
#Requires -RunAsAdministrator
$source = "$env:windir\System32\nvapi64.dll"
$destination = "$env:userprofile\Desktop\nvapi64.dll"
if (Test-Path $source) {
Move-Item -Path $source -Destination $destination
Write-Output "File moved successfully to $destination"
} else {
Write-Output "File does not exist at $source"
}```
And to revert the same action:
```
#Requires -RunAsAdministrator
$source = "$env:userprofile\Desktop\nvapi64.dll"
$destination = "$env:windir\System32\nvapi64.dll"
if (Test-Path $source) {
Move-Item -Path $source -Destination $destination
Write-Output "File moved successfully to $destination"
} else {
Write-Output "File does not exist at $source"
}
Picture shown below how to spot them; I don't think there is much need for explanation.
Below you find two powershell scripts. Running them will create a Logging file in your Download folder and in that file you will find it more easy whatever error you're searching for. Basically, they go through every logged event in your Windows Event Logger and make it easy to read what's happening or what just happened.
This first version is more "normal" and doesn't include bluescreens etc. The second is more aggressive and sorts out more.
# Pfad zur Logdatei
$logFile = "$env:USERPROFILE\Downloads\eventlog_errors.txt"
# Abrufen von Fehlern und Warnungen aus dem Eventlog
$events = Get-EventLog -LogName Application -EntryType Error, Warning
# Schreiben der Ereignisse in die Logdatei
$events | Format-List -Property TimeGenerated, EntryType, Source, InstanceId, Message | Out-File -FilePath $logFile
Write-Host "Die Fehler und Warnungen wurden in der Datei $logFile gespeichert."
# Pfad zur Logdatei
$logFile = "$env:USERPROFILE\Downloads\eventlog_critical_errors.txt"
# Versuch, kritische Fehler aus dem System-Eventlog abzurufen
try {
$events = Get-WinEvent -FilterHashTable @{LogName='System'; Level=1} -ErrorAction Stop
# Schreiben der Ereignisse in die Logdatei
$events | Format-List -Property TimeCreated, LevelDisplayName, ProviderName, Id, Message | Out-File -FilePath $logFile
Write-Host "Die kritischen Fehler wurden in der Datei $logFile gespeichert."
} catch {
# Schreiben einer Nachricht in die Logdatei, wenn keine kritischen Fehler gefunden werden
"Keine kritischen Fehler gefunden. Falls Sie doch einen Fehler vermuten oder Ihnen einer bewusst ist, nutzen Sie bitte den EventLog direkt!" | Out-File -FilePath $logFile
Write-Host "Keine kritischen Fehler gefunden. Eine entsprechende Nachricht wurde in der Datei $logFile gespeichert."
}