无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8363|回复: 4
打印 上一主题 下一主题

懂批处理的朋友进来看看!

[复制链接]
跳转到指定楼层
1#
发表于 2003-9-26 17:16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想在安装xp的时候,第一次登陆的时候自动以注册的用户名新建一个同名的管理员用户。
net user "%FName%" /add
net localgroup administrators "%FName%" /add
这两句好像不行。还需要什么?
2#
发表于 2003-9-26 19:57:10 | 只看该作者

懂批处理的朋友进来看看!

必须还要设置变量
set FName=你的用户名
才可以
回复

使用道具 举报

3#
 楼主| 发表于 2003-9-26 20:12:21 | 只看该作者

懂批处理的朋友进来看看!

老大,我的用户名我想设一个变量,以我的注册名为用户名。
怎么弄阿?
回复

使用道具 举报

4#
发表于 昨天 11:29 | 只看该作者
还没解决吗?我现在叫KIMI帮你:
本身语法上没有问题,但你说“第一次登录时自动以注册的用户名新建一个同名的管理员用户”,这涉及到Windows XP 安装过程中的自动应答机制,也就是无人值守安装(Unattended Setup)。
✅ 正确做法:使用 unattend.txt 或 winnt.sif
在 Windows XP 的无人值守安装中,不能仅靠 net user 命令在首次登录时自动创建用户,因为:
%FName% 是Windows 安装过程中输入的“注册用户名”,但它不会自动成为环境变量。
首次登录时,系统还没有加载你自定义的脚本或命令,除非你明确告诉它这么做。
✅ 解决方案:使用 Winnt.sif + Cmdlines.txt + GUIRunOnce
✅ 步骤如下:
🔧 1. 创建 Winnt.sif(放在安装源 \i386 目录下)
这是无人值守安装的核心配置文件。
ini
复制
[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=Yes
TargetPath=\WINDOWS

[GuiUnattended]
AdminPassword=*
EncryptedAdminPassword=NO
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=1
OEMSkipWelcome=1

[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName="MyUser"
OrgName="MyOrg"
ComputerName=*

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=Yes

[GuiRunOnce]
Command0="%SystemDrive%\Install\createuser.cmd"
🔧 2. 创建 createuser.cmd(放在 $OEM$\$1\Install\ 目录下)
这个脚本会在首次登录时自动运行,并读取注册用户名(从注册表或文件)。
cmd
复制
@echo off
setlocal enabledelayedexpansion

:: 从注册表读取注册用户名(FullName)
for /f "tokens=3*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOwner" 2^>nul') do set FName=%%A %%B

:: 去掉前后空格
set FName=%FName:~0,20%

:: 创建用户并加入管理员组
net user "%FName%" /add
net localgroup administrators "%FName%" /add

:: 可选:设置密码
net user "%FName%" MyPassword123

:: 可选:删除默认的 Administrator 用户(谨慎)
:: net user administrator /delete

endlocal
🔧 3. 确保文件结构正确
你的安装源目录结构应如下:
复制
\i386
\winnt.sif
\$OEM$\$1\Install\createuser.cmd
✅ 总结
表格
复制
问题        原因
%FName% 无效        它不是环境变量,必须从注册表读取
net user 没生效        没有在首次登录时运行脚本
需要自动创建用户        必须使用 GUIRunOnce 或 RunOnce 机制
✅ 最终效果
安装完成后,首次自动登录,然后运行 createuser.cmd,自动创建一个与注册用户名相同的管理员用户。
如需我帮你生成完整的 winnt.sif 和 createuser.cmd 模板,告诉我你希望的注册用户名、密码、是否删除 Administrator,我可以直接给你打包。
回复

使用道具 举报

5#
发表于 昨天 11:30 | 只看该作者
学习一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-6 13:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表