Sysprep:它会从用户帐户中删除 Windows 凭据吗?

Sysprep:它会从用户帐户中删除 Windows 凭据吗?

我有一个自动化流程,该流程应该构建一个映像,并将该映像部署到设置为运行服务的用户。用户需要访问 Azure 网络文件共享。为了提供访问文件共享的凭据,我通过以下命令将凭据保存到 Windows Credential Manager,并将其作为我的服务帐户运行。

cmdkey /add:storage.file.core.windows.net /user:Azure\storage /pass:password

然后我通过添加网络地图

net use Z: \\storage.file.core.windows.net\share /persistent:yes

网络已映射,我可以访问上面的 UNC 路径。然后,我通过运行 sysprep 并对其进行通用化来准备 VM 以进行映像捕获。

C:\Windows\Sysprep\Sysprep.exe /oobe /generalize /quiet /quit /mode:vm

当我再次启动映像时,我可以登录我的服务帐户,但我添加的 cmdkey 消失了。我可以编写一个计划任务来重新添加 cmdkey,但我想知道是不是 Sysprep 真的抹去了我的 Windows 凭据,以及是否有办法避免这种情况。

答案1

我使用这种方法是为了创建一个已经安装网络驱动器的映像。我发现我的自动化进程(Packer)即使在同一个帐户下运行,也不会共享脚本会话的凭据和用户会话凭据。

通过脚本安装网络共享(无论是否在同一帐户上运行)并期望在用户会话/应用程序中安装该共享将不起作用。两者之间不共享凭据。

我所做的是让我的脚本创建一个批处理文件,该文件在我的服务运行时立即挂载网络共享,我知道我的服务将作为经过身份验证的会话在会话上运行,所以我只需调用我的批处理文件并从我的服务挂载网络共享,并且我的服务应该能够访问网络共享。

有趣的是,如果我的服务以我的帐户进行身份验证并且安装了网络共享,我将能够通过 RDP 访问网络共享而无需提供凭据,这表明应用程序会话在用户交互会话之间共享。

相关内容