52 lines
1.9 KiB
PowerShell
52 lines
1.9 KiB
PowerShell
[Console]::OutputEncoding = [Text.Encoding]::UTF8
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
# --- 1. Rename local account 'user' -> 'User' ---
|
|
$src = 'user'
|
|
$dst = 'User'
|
|
|
|
$u = Get-LocalUser -Name $src -ErrorAction SilentlyContinue
|
|
if ($u) {
|
|
if ($u.Name -ceq $dst) {
|
|
Write-Host "[=] Account is already '$dst'"
|
|
} else {
|
|
Write-Host "[*] Renaming local account '$($u.Name)' -> '$dst'"
|
|
Rename-LocalUser -Name $src -NewName $dst
|
|
Write-Host "[OK] Renamed"
|
|
}
|
|
} else {
|
|
$already = Get-LocalUser -Name $dst -ErrorAction SilentlyContinue
|
|
if ($already) {
|
|
Write-Host "[=] Account '$dst' already exists (no '$src' found). Nothing to rename."
|
|
} else {
|
|
throw "Neither '$src' nor '$dst' exists as local user"
|
|
}
|
|
}
|
|
|
|
# --- 2. Hide 'Admin' from sign-in screen ---
|
|
$listPath = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList'
|
|
if (-not (Test-Path $listPath)) {
|
|
New-Item -Path $listPath -Force | Out-Null
|
|
Write-Host "[*] Created $listPath"
|
|
}
|
|
New-ItemProperty -Path $listPath -Name 'Admin' -Value 0 -PropertyType DWord -Force | Out-Null
|
|
Write-Host "[OK] Hidden 'Admin' from sign-in screen (SpecialAccounts\UserList\Admin = 0)"
|
|
|
|
Write-Host ""
|
|
Write-Host "=== Post-state ==="
|
|
Get-LocalUser | Select-Object Name,Enabled,LastLogon | Format-Table -AutoSize
|
|
|
|
$lst = Get-ItemProperty -Path $listPath -ErrorAction SilentlyContinue
|
|
if ($lst) {
|
|
Write-Host "UserList values:"
|
|
$lst.PSObject.Properties | Where-Object { $_.Name -notmatch '^PS' } | ForEach-Object {
|
|
Write-Host (" {0} = {1}" -f $_.Name, $_.Value)
|
|
}
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "Notes:"
|
|
Write-Host " - Account SIDs don't change. C:\Users\user profile folder stays with lowercase name"
|
|
Write-Host " (NTFS is case-insensitive so all apps keep working)."
|
|
Write-Host " - Admin can still sign in: click 'Other user' on the lock screen and type 'Admin'."
|