You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用PowerShell设置本地用户账户头像?求解脚本中注册表路径及属性名参数

PowerShell设置本地账户头像:补全你的脚本参数

嘿,我来帮你补全脚本里的问号部分,顺便给你优化下脚本,让它完全贴合手动设置头像的效果!

首先得说清楚:Windows账户头像的注册表设置其实和用户SID绑定,而且系统会自动把你选的原图转换成多个尺寸的缩略图存起来,所以直接写死路径可能不够灵活,最好自动获取当前用户的SID。

你的脚本需要的正确参数

  • 注册表路径:HKCU:\Software\Microsoft\Windows\CurrentVersion\AccountPicture\Users\$(([System.Security.Principal.WindowsIdentity]::GetCurrent()).User.Value)
    这里用那段PowerShell代码自动获取当前用户的SID,不用你手动去查用户的SID值,通用性更强。
  • 属性名:系统针对不同尺寸的头像有不同的键名,比如192(对应192x192像素的头像,这是系统在设置界面、开始菜单显示的主要尺寸),另外还有ImagePath这个属性可以指向你的原始图片路径。

优化后的完整脚本

把你的脚本改成这样,就能实现和手动操作一模一样的效果,还能让头像立即生效:

# 自动获取当前用户的SID
$userSID = ([System.Security.Principal.WindowsIdentity]::GetCurrent()).User.Value
# 拼接正确的注册表路径
$registryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\AccountPicture\Users\$userSID"
# 你的自定义图片路径
$imgPath = "C:\custom-folder\img.jpg"

# 设置主要显示尺寸的头像路径(192x192是系统常用尺寸)
Set-ItemProperty -Path $registryPath -Name "192" -Value $imgPath
# 同步设置原始图片路径的属性
Set-ItemProperty -Path $registryPath -Name "ImagePath" -Value $imgPath

# 重启资源管理器,让头像立即刷新显示
Stop-Process -Name explorer -Force
Start-Process explorer.exe

Write-Host "Account photo has been set successfully."

小提示

  • 确保你的图片是JPG/PNG这类系统支持的格式,尺寸建议不小于192x192,这样系统生成的缩略图不会模糊。
  • 如果重启资源管理器后头像还没变化,试试注销当前账户再重新登录,系统会彻底刷新账户信息。

内容的提问来源于stack exchange,提问作者Kennycampbell1

火山引擎 最新活动