User Tools

Site Tools


win10

Windows 10 settings

System info

systeminfo
cmd /k ver

Windows Product key

wmic path SoftwareLicensingService get OA3xOriginalProductKey

or use NirSoft's ProduKey

Get computer name

  • hostname (hostname.exe) in both CMD and PS
  • %COMPUTERNAME% in CMD or $ENV:COMPUTERNAME in PowerShell

Rename computer

In admin PowerShell:

Rename-Computer "new_hostname"

or with restart

Rename-Computer "new_hostname" -Restart

Language

https://superuser.com/a/1310632/53547

Set-WinSystemLocale en-US
Set-WinUserLanguageList en-US

Or https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-languages-and-international-servicing-command-line-options ?

But the language packs need to be downloaded. Easier in Control Panel.

Keyboard

Try

Set-WinUserLanguageList -Force -LanguageList fr-CH,de-CH,en-US

No Hiberboot

Disable "Fast boot"

@echo off

echo "Hiberboot (Fast boot) settings"
echo "Current:"

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled

echo "Disabling..."
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f

echo "New:"
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled

PAUSE

I think the above registry hack is the same as running

powercfg /hibernate off

and then deleting the C:\hiberfil.sys file

Network

https://superuser.com/questions/1160421/how-do-i-force-windows-10-to-see-a-network-as-private/1160433#1160433 networking - How do I force Windows 10 to see a network as private? - Super User

https://superuser.com/a/1160447/53547

Change NetWorkConnection Category to Private. (Requires -RunasAdministrator)

net2private.ps1
Get-NetConnectionProfile |
  Where{ $_.NetWorkCategory -ne 'Private'} |
  ForEach {
    $_
    $_ | Set-NetConnectionProfile -NetWorkCategory Private -Confirm
  }

Delete WiFi passwords

netsh wlan show profiles
netsh wlan delete profile name="WiFi network name"

or delete all:

netsh wlan delete profile name=*

Enable ADMIN$ shares

"By default, Windows Vista and newer versions of Windows prevent local accounts from accessing administrative shares through the network." (docs.microsoft.com)

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1

Disable IPv6

Not tested yet:

From https://4sysops.com/archives/disable-ipv6-in-windows/

Get-NetAdapterBinding -ComponentID "ms_tcpip6" | where Enabled -eq $true | Disable-NetAdapterBinding -ComponentID "ms_tcpip6"

or (probably needs restart?):

reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 255 /f

or the same in PowerShell:

New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ -Name DisabledComponents -Type DWord -Value 255

The Value 32 may be better than 255.

Or a .reg file (here with value 32 (hex 20)):

NoIPv6.reg
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
"DisabledComponents"=dword:00000020

Or maybe netsh commands as suggested in https://systemadminspro.com/how-to-disable-ipv6-on-windows/ (needs a restart)

netsh interface ipv6 set teredo disabled
netsh interface ipv6 6to4 set state disabled
netsh interface ipv6 isatap set state disabled

WSL

https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Reboot

Download and install https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

wsl --set-default-version 2

Select wanted Ubuntu version from https://wiki.ubuntu.com/WSL#Installing_Ubuntu_on_WSL_by_sideloading_the_.appx and download it. For example, for "Ubuntu 20.04 LTS (Focal)" get https://aka.ms/wslubuntu2004

Install with

Add-AppxPackage $env:USERPROFILE\Downloads\Ubuntu...(press TAB to find file name)

See also: https://wiki.ubuntu.com/WSL

Once in Ubuntu:

sudo apt update && sudo apt upgrade
sudo apt install mc rsync
sudo apt install perl-doc ...

Windows Terminal

Path

Show current path

$env:path -split ";"

or

# Only parts for current user
reg query HKCU\Environment /v Path
 
# Only machine path
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path
 
(New-Object -ComObject WScript.Shell).RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path") -split ";"

Add to Machine Path

$addpath = "C:\bin"
$regenv  = "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

$machinepath = (New-Object -ComObject WScript.Shell).RegRead("$regenv\Path") -split ";" | Where-Object { $_ -ne $addpath }
$machinepath += $addpath

# show:
$machinepath -join ';'

# do it
Set-ItemProperty -Path "HKLM:\$regenv" -Name 'Path' -Value ($machinepath -join ';') -Type ExpandString

The new path is not active immediately for users. For users to get the updated machine path, it is necessary to Sign out and Sign back in.

https://stackoverflow.com/a/36379814/111036

https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-registry-entries?view=powershell-7.1

WSL Path

bash $PATH includes native Windows path (work around "AppendNtPath"=dword:00000000 *Not working*) #2048 https://github.com/microsoft/WSL/issues/2048#issuecomment-324072237 (by benhillis)

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager /T REG_DWORD /V "DistributionFlags" /D 4294967293

OR https://github.com/microsoft/WSL/issues/1493#issuecomment-580643734 ?

After configuring wsl.conf
[Interop]
appendWindowsPath = False
don't forget to open Powershell (as administrator) and put this command:
Restart-Service LxssManager

File Explorer

Show file extensions:

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /t REG_DWORD /d 0 /f

Notepad++

Make it replace notepad.exe:

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "$env:ProgramFiles\Notepad++\notepad++.exe -notepadStyleCmdline -z" /f

Or?

https://npp-user-manual.org/docs/other-resources/#notepad-replacement

# check if we have 64 or 32 bit notepad++

if (Test-Path "C:\Program Files\Notepad++\notepad++.exe") { echo "64bit" } `
elseif (Test-Path "C:\Program Files(x86)\Notepad++\notepad++.exe") {echo "32bit"} `
else {echo "Not installed!"}

# Make notepad++ the default

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"

# In cmd.exe:

REM If 64-bit Notepad++
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles%\Notepad++\notepad++.exe\" -notepadStyleCmdline -z" /f
REM If 32-bit Notepad++
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles(x86)%\Notepad++\notepad++.exe\" -notepadStyleCmdline -z" /f

# In Powershell: # 64bit

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "$env:ProgramFiles\Notepad++\notepad++.exe -notepadStyleCmdline -z" /f

# 32bit

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "$env:ProgramFiles(x86)%\Notepad++\notepad++.exe -notepadStyleCmdline -z" /f

No OneDrive

reg query  HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /s
reg delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v OneDrive

Solitaire

The old Solitaire from Windows 95.

This assumes there is already a C:\bin directory, and it's in the Path:

cd C:\bin
curl.exe -O -R http://alma.ch/install/win7/bin/sol.exe
curl.exe -O -R http://alma.ch/install/win7/bin/cards.dll

To install it in Ubuntu Linux for running it with wine :

# If not done already, install wine
sudo apt install wine winetricks
# and run wine at least once to make it create it's directories in your $HOME
wine
 
# Install Solitaire
wget http://alma.ch/install/win7/bin/{sol.exe,cards.dll}
mv -t ~/.wine/drive_c/windows/ sol.exe cards.dll
 
# run Solitaire with
wine sol

Cached credentials

Clear Network Saved Credentials

rundll32.exe keymgr.dll, KRShowKeyMgr
net use * /del

klist purge

control keymgr.dll

Windows Defender

To check which paths are ignored by Windows Defender:

Get-MpPreference

or

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Exclusions\Paths" /s
reg query "HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /s

To protect paths from Windows Defender (so that it doesn't delete nc.exe for example):

Add-MpPreference -ExclusionPath "C:\bin"

or

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Exclusions\Paths" /d 0 /t REG_SZ /v "C:\bin"
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\Exclusions\Paths" /d 0 /t REG_SZ /v "\\server\install\bin"
...

With the 2nd option using Policies, they must also be activated by rebooting or by running gpudate /force (see also https://cloudbrothers.info/create-persistent-defender-av-exclusions-circumvent-defender-endpoint-detection/)

Firewall

Show current ICMP ping rule state:

netsh advfirewall firewall show rule name="Allow ping ICMP V4"

Enable ping replies:

netsh advfirewall firewall add rule name="Allow ping ICMP V4" protocol=icmpv4:any,any dir=in action=allow

Verbose start

Script to run in an admin command prompt to enable some messages during startup and login:

@echo off

echo Current value for HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\verbosestatus
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\" /v "verbosestatus"
echo Current value for HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DisableStatusMessages
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\" /v "DisableStatusMessages"

echo Enabling (slightly) Verbose boot
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\" /v "verbosestatus" /t REG_DWORD /d 1 /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\" /v "DisableStatusMessages"

pause
/docs/dokuwiki/data/pages/win10.txt · Last modified: 2024-11-05 15:24:45 by mi