背景

有多台win10机器需要修改密码和密码提示,为提高效率采取批量执行。记录下。

修改密码

命令行示例为:

ssh -o connectTimeout=3 username@host "net user user_name new_password"

注:user_name是要修改密码的用户名,new_password是新密码。

对于多台机器,按上述做法,写成bat。

修改密码提示

基本思路:密码提示需要在指定的注册表路径进行修改。比较麻烦的是,此路径不仅有固定值(和用户名无关),还有动态值(和用户名相关)。动态值需要先查找,再做进制转换,然后再搜索是哪个路径。找到此路径后,写入密码提示值便可。

echo off
rem 设定用户名与密码提示
set os_user_name=xxxxxx
set password_hint="password hint here"set regset_ini=regset_test.ini
set regset_ini2=regset_test2.inirem 赋予注册表权限
echo HKEY_LOCAL_MACHINE\SAM\SAM [1 17] > %regset_ini%
echo HKEY_LOCAL_MACHINE\SAM\SAM\Domains [1 17] >> %regset_ini%
echo HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account [1 17] >> %regset_ini%
echo HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users [1 17] >> %regset_ini%
echo HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names [1 17] >> %regset_ini%
echo HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\%os_user_name% [1 17] >> %regset_ini%
regini %regset_ini%rem 找出用户名对应的type值
set reg_user_name=
set reg_user_name_num=
for /f "tokens=3 delims=^ " %%i in ('reg query HKLM\SAM\SAM\Domains\Account\Users\Names\%os_user_name% /z ^| findstr /R [0-9]') do (set reg_user_name=%%i)
set reg_user_name=%reg_user_name:(=%
set reg_user_name_num=%reg_user_name:)=%
echo reg_user_name_num is %reg_user_name_num%rem 将type值从10进制转16进制
set tra=
set str=
set code=0123456789ABCDEF
set reg_user_name_num_hex=%reg_user_name_num%
:again
set /a tra=%reg_user_name_num_hex%%%16
call,set tra=%%code:~%tra%,1%%
set /a reg_user_name_num_hex/=16
set str=%tra%%str%
if %reg_user_name_num_hex% geq 16 goto again
set reg_user_name_num_hex=%reg_user_name_num_hex%%str%
echo reg_user_name_num_hex is %reg_user_name_num_hex%rem 找出指定用户名对应的注册表路径
set user_reg_path = reg query HKLM\SAM\SAM\Domains\Account\Users | findstr Users\0 | findstr /I %reg_user_name_num_hex%
for /f "tokens=1 delims=^ " %%i in ('reg query HKLM\SAM\SAM\Domains\Account\Users ^| findstr Users\0 ^| findstr /I %reg_user_name_num_hex%') do (set user_reg_path=%%i)
echo user_reg_path is %user_reg_path%rem 赋予注册表权限
echo %user_reg_path% [1 17] > %regset_ini2%
regini %regset_ini2%rem 增加password hint
reg add %user_reg_path% /v UserPasswordHint /t REG_SZ /d %password_hint% /fdel %regset_ini%
del %regset_ini2%
echo exection completerem 删除bat自身
del %0

将此内容保存成文件write_password_hint.bat,然后再利用scp上传到目标机器,然后利用ssh执行便可。

注意:1,将用户名和密码提示换成实际需求值。

2,最后会删除bat自身。本地测试时要注意备份。

执行示例:

ssh -o connectTimeout=3 username@host "d:\write_password_hint.bat"

参考

2 Ways to Set Password Hint for Windows User Account | Password Recovery

命令行修改注册表访问权限_crystal0011的博客-CSDN博客_命令行修改注册表权限

更改注册表值或权限 - Windows Client | Microsoft Docs

使用命令修改注册表键值及权限_weixin_33801856的博客-CSDN博客

cmd10与16进制的相互转换_ak01_10的博客-CSDN博客_cmd 十六进制

bat脚本10进制数转16进制_book_rain的博客-CSDN博客_bat 十六进制

批处理修改win10密码以及密码提示相关推荐

  1. 修改ftp服务器用户,通过批处理修改FTP账号和密码

    方法一.批处理修改FTP账号和密码 @echo off rem 指定FTP用户名 set ftpUser=FTPUSERNAME rem 指定FTP原密码 set ftpPassOld=FTPPASS ...

  2. win10服务器密码怎么修改,win10服务器ip地址修改密码

    win10服务器ip地址修改密码 内容精选 换一换 MRS 3.x及之后版本的集群使用FusionInsight Manager对集群进行监控.配置和管理.用户在集群安装后可使用帐号登录FusionI ...

  3. 计算机用户名密码修改 win10,玩转Win10密码基础篇:设置修改系统登录密码

    电脑要不要设置密码?为了安全还是设一个吧.这里所说的密码是windows登录密码,即登录windows时的密码.如果为win10登陆账号设置了密码则在进入系统时会要求输入密码,如果没有设置则会直接进入 ...

  4. Linux通过修改date命令,验证shadow的密码有效期,提示期和宽限期

    1,创建一个用户 添加密码 passwd+用户名 回车 然后输入自己想要输入的密码 2,打开 vim /etc/shadow 修改自己刚刚添加用户的 密码有效期,提示期,宽限期 7密码有效期 最后3天 ...

  5. WIN10忘记账号密码,拥有PIN码或指纹解锁,如何修改密码?

    首要,要保证自己能够进入电脑 当你可以进入电脑时,执行下列操作就可以了 一.最简单暴力的方式(命令修改): 按下"Win+X"组合键打开系统快捷菜单, 点击windows powe ...

  6. 连接网络计算机输入网络密码,win10系统共享文件时提示输入网络密码的详细步骤...

    有关win10系统共享文件时提示输入网络密码的操作方法想必大家有所耳闻.但是能够对win10系统共享文件时提示输入网络密码进行实际操作的人却不多.其实解决win10系统共享文件时提示输入网络密码的问题 ...

  7. 计算机win10添加用户名和密码是什么情况,win10系统添加网络打印机提示输入用户名和密码的图文方法...

    有关win10系统添加网络打印机提示输入用户名和密码的操作方法想必大家有所耳闻.但是能够对win10系统添加网络打印机提示输入用户名和密码进行实际操作的人却不多.其实解决win10系统添加网络打印机提 ...

  8. 更改计算机一级密码,详细教您如何更改win10系统电脑密码

    最近有不少网友给小编留言,升级win10系统后不知道如何更改电脑密码,好多朋友都会给自己的电脑设置开机密码,但是时间久了,电脑开机密码需要更改,却找不到win10系统设置密码在哪更改了,今天小编来给大 ...

  9. 台式计算机开机密码设置,台式win10电脑开机密码怎么更改?改台式win10电脑开机密码的两种方法...

    给win10专业版电脑设置开机密码能够保护资料安全,不会被人轻易看到.开机密码是指我们在打开台式电脑后只有在输入正确的密码后才能进入系统.出于安全性考虑我们会设置比较复杂的密码,但是很多人不明白台式w ...

最新文章

  1. sentinel 阿里 原理_限流降级神器:哨兵(sentinel)原理分析
  2. 直方图中最大的矩形(遍历与单调栈)
  3. 入行Python需要看的4本书推荐
  4. java哈希_Java Hashtable 类
  5. ubuntu下google浏览器(chromium)flash插件安装
  6. easyUI 添加CheckBox选择到DataGrid
  7. java random用法_JAVA面试题(1)
  8. [实战]java回调函数
  9. [BZOJ3000] Big Number (Stirling公式)
  10. 上海90后用优惠券薅羊毛45万被捕;华为再招201万元年薪“天才少年”;微软收购网络安全公司 RiskIQ|极客头条...
  11. html表格 行 自动向上,javascript – 在bootstraptable中向上或向下移动行
  12. Windows 7程序开发系列之一(任务栏篇)
  13. ShellExecute的各种用法 [转帖于 2009-05-020 21:15]
  14. 工具类网站推荐:实用工具汇总共30000个,速收藏
  15. halfstone 原理_打水漂的原理研究
  16. 乐师2017年新生程序设计大赛解题报告
  17. kdc服务器密码修改,kerberos之kdc主备
  18. CrossOver运行exe文件教程!!
  19. Proe转Solidworks
  20. 这些数据合并的神操作,你掌握几个?

热门文章

  1. 如何用Tableau可视化?
  2. GIS应用技巧之矢量数据编辑
  3. 影响stable diffusion的embedding训练效率的部分问题和拟解决办法
  4. SwiftUI实战教程 第二章 BMI计算器
  5. carla创建地图(四)基于ue4创建地图
  6. Winodws 快速添加开机启动项
  7. 现货黄金和纸黄金的区别?
  8. 【亚马逊运营技巧】如何查找高价值关键词?
  9. sql server 简单应用
  10. 常用模块(subprocess/hashlib/configparser/logging/re)