微型计算机 发表于 2024-7-4 15:29

系统封装后,如何自动更改用户目录到另外位置

本帖最后由 微型计算机 于 2024-7-4 15:54 编辑

目前状况是这样,假定有100台机器,1台用审核模式安装好需要的软件,然后SYSPREP,抓取镜像然后传输到另外99台机器上,如果想实现用户在解封时输入自己个性化的用户名,把用户相关目录更改到另外一个位置,比如输入用户名aaa,桌面默认目录是C:\Users\aaa\Desktop,现在想更改到D:\aaa\Desktop,那么在封装时,应该如何设置应答文件,把应答文件放到什么位置?

如果用注册表,那么可以:
Windows Registry Editor Version 5.00
;用户目录转移至D盘

"Desktop"="D:\\%UserName%\\Desktop"

但是要让每个用户运行一下,现在想实现自动化,想在OOBE结束时就完成修改,这样的话,以后如果要重新还原系统,就不需要去备份这几个用户目录了,请高手指点一下,谢谢!

66966 发表于 2024-7-4 15:53

利用 Unattend.xml

    <settings pass="oobeSystem">
      <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <FolderLocations>
                <ProfilesDirectory>D:\Users</ProfilesDirectory>
            </FolderLocations>

微型计算机 发表于 2024-7-4 15:58

66966 发表于 2024-7-4 15:53 https://i.pcbeta.com/static/image/common/back.gif
利用 Unattend.xml

   


这样设置,是不是所有人的目录都是d:\users的?我的想法是aaa,就是d:\aaa,如果是bbb,那么就是d:\bbb,这样的话,一进入D盘,马上就能看到自己的目录,知道这里是有关自己的内容

66966 发表于 2024-7-4 16:11

相当于把c:\users 转移到 d:\users
建新用户的话就是d:\users\aaa,d:\users\bbb……

如果确实要根目录的化,<ProfilesDirectory>D:</ProfilesDirectory> 即可。
但不推荐,根目录按以前说法是有限制,限制文件和目录只能共255个,现在Win10、Win11是否有这限制,你可以自己测试下。

微型计算机 发表于 2024-7-4 16:13

是我想岔了,我先去试一试

微型计算机 发表于 2024-7-4 16:52

测试结果1:没有成功
应答文件放在%WINDIR%\System32\Sysprep\Panther下

微型计算机 发表于 2024-7-4 17:48

测试结果2:没有成功
应答文件放在%WINDIR%\Panther\Unattendgc

lqy888 发表于 2024-7-4 18:34

应答文件放在%WINDIR%\Panther\Unattend.xml

微型计算机 发表于 2024-7-6 15:10

前面两天没有测试,今天早上继续,结果如下:

LTSC2021初始发布镜像光盘,进入审核模式,安装软件,镜像备份,进入SYSPREP。如果没有在%WINDIR%\Panther\下放置Unattend.xml文件,重启后正常进入OOBE阶段;如果在%WINDIR%\Panther\下放置Unattend.xml文件,重启后一直转圈,3小时了还在转圈。

这就不知道出什么状况了。.xml文件是用Windows SIM生成的,镜像也是配套的。

sxtong 发表于 2024-7-7 07:15

Windows Registry Editor Version 5.00
;用户目录转移至D盘

"Desktop"="D:\\%UserName%\\Desktop"
你这个注册表文件是不是可以让它在安装 Windows 后第一个用户登录时运行
如果可以的话 把它放在无人值守文件中

微型计算机 发表于 2024-7-7 08:51

我服了,在应答文件中,把关于这项目的内容删除,就可以OOBE了

xdm2211 发表于 2024-7-7 11:05

因为别人给你的只是无人值守文件里的一段代码 并不是完整的无人值守文件,。,你的无人值守文件不完整肯定部署不下去的。

微型计算机 发表于 2024-7-8 09:30

xdm2211 发表于 2024-7-7 11:05 https://i.pcbeta.com/static/image/common/back.gif
因为别人给你的只是无人值守文件里的一段代码 并不是完整的无人值守文件,。,你的无人值守文件不完整肯定部 ...

并不是这样的,我自己用SIM生成的应答文件,只包含这一个内容项,也不行,反正就是修改个人目录的内容存在就出错,反之就正常,所以现在我放弃了这条路,设置在OOBE结束时,弹出一个文件,让用户按照文件说明自己修改

微型计算机 发表于 2024-7-8 09:31

在此谢谢前面各位的指导与回复

svke 发表于 2024-7-8 09:42

即然知道了注册表的位置,在oobe时进入桌面之前,用批处理修改一下注册表的相关位置不就行了

微型计算机 发表于 2024-7-8 09:52

svke 发表于 2024-7-8 09:42 https://i.pcbeta.com/static/image/common/back.gif
即然知道了注册表的位置,在oobe时进入桌面之前,用批处理修改一下注册表的相关位置不就行了

嗯,理论上讲是这样的,但我实际测试了,OOBE时指定FirstLogonCommand先用mkdir d:\%username%\desktop建立文件夹,然后导入注册表,OOBE结束时,可以看到D盘有相应的文件夹,注册表中也有相应的内容,但实际上还要用户去属性当中去调整一下,不然不会生效,所以还是放弃这个想法

liangyuxing 发表于 2024-7-8 16:58

请教AI给出的代码,试试看行不行?

<?xml version="1.0" encoding="UTF-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
    <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="amd64">
      <FolderLocations>
      <ProfilesDirectory>D:\Users</ProfilesDirectory>
      </FolderLocations>
    </component>
</settings>
</unattend>

微型计算机 发表于 2024-7-9 12:36

本帖最后由 微型计算机 于 2024-7-9 12:38 编辑

liangyuxing 发表于 2024-7-8 16:58 https://i.pcbeta.com/static/image/common/back.gif
请教AI给出的代码,试试看行不行?



6F 和 7F 的图中内容一样的,但作用的阶段不一样,上班的时候再试试

微型计算机 发表于 2024-7-9 12:49

在SIM中,同样的Components放到不同的阶段,可以使用的选项不同,不知道能不能起效,如图,与17楼的对比
页: [1]
查看完整版本: 系统封装后,如何自动更改用户目录到另外位置