问题标签 [sysprep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5460 浏览

windows - Win10 上的 sysprep 退出并出现错误 RunExternalDlls:Not running DLLs

我尝试在 Win 10 Pro 上使用 sysprep。我使用这些选项:

  • 概括
  • OOBE
  • 关闭

日志文件 setuperr.log 显示:

sysprep 窗口标题显示另一个版本:“系统准备工具 3.14”

任何解决方法的想法?

0 投票
0 回答
683 浏览

windows - 创建 Windows AMI 时的部分 sysprep

tdlr; 我想使用“部分系统准备”创建一个 AMI,以便 SSM 在我启动与该 AMI 的原始实例类型不同的实例类型时可以连接,但希望保持其他所有内容相同。它只需要更新元数据/kms 路线。

我最近遇到了一个问题,如果我部署的实例类型不是最初创建 AMI 的实例类型,则无法访问 SSM。原来这是因为不同的实例大小会被启动到不同的可用区,并且连接到 SSM 的路由被保存到指向原始实例类型 AMI 的可用区的映像中。

对此的解决方案是在创建 AMI 之前使用 sysprep 关闭。但是,这引发了其他问题: 1- 从 sysprep 的 AMI 启动系统需要 2 分钟以上才能使 SSM 可用,而不是在不使用 sysprep 时立即可用。但更重要的是:2-我的启动脚本的一部分将 exe 下载到桌面并使用 SSM RunPowershellScript 安装它。这部分现在失败了,我相信是因为在我 RDP 进入新实例之前,不会创建桌面等。我已经测试了 15 分钟的睡眠,结果相同。在我 rdp'd 进入实例后,这部分代码运行良好。

我有: 1. 当 AMI 未进行系统准备时,确认 exe 安装程序运行良好。但是,在这种模式下,我只能使用为其创建原始 AMI 的实例类型。

  1. 使用 sysprep 时,在下载/运行安装程序之前尝试了 15 分钟睡眠。这没有用。

  2. 确认在 sysprep'd 映像上,如果我已 rdp'd 进入实例以初始化桌面等,安装程序将下载并运行。

这与页面底部描述的元数据/KMS 路由有关:https ://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html#ec2launch-inittasks

如果在不使用 sysprep 的情况下创建 AMI,则如果实例将该 AMI 启动到不同的可用区,则 SSM 将无法访问,并且日志中会出现以下错误:

2019-08-28 22:39:12 错误 [func1 @ coremanager.go.245] [instanceID=i-0d6c57bbfe2db46af] 尝试启动核心模块时发生错误。插件名称:启动处理器。错误:启动处理器发生内部错误:运行时错误:无效的内存地址或 nil 指针取消引用 2019-08-28 22:39:27 错误 [SetWebSocket @ controlchannel.go.89] [MessageGatewayService] 无法获取控制通道令牌,错误: CreateControlChannel 失败并出现错误:createControlChannel 请求失败:来自服务未授权请求的意外响应。

预期的行为是能够从 AMI 启动实例,并预先配置所有内容(包括桌面等,在使用 sysprep 时需要完全重新初始化),并让新实例更新元数据/kms 路由,以便可以访问 SSM。

0 投票
1 回答
11175 浏览

powershell - 所有用户的 Remove-AppxPackage

我想从 Window 10 的 Microsoft Store 应用程序中删除 Fitbit 包。我在 Powershell 命令中有 -allusers,但它告诉我 Fitbit 不在当前用户中。我不在乎它在哪个用户中。我想知道为什么它不会从所有用户中删除它。我使用具有管理员权限的用户以管理员身份运行它。

PS C:\WINDOWS\system32> Get-AppxPackage -allusers fitbit | Remove-AppxPackage Remove-AppxPackage:部署失败,HRESULT:0x80073CF1,找不到包。Windows 无法删除 Fitbit.FitbitCoach_4.4.133.0_x64__6mqt6hf9g46tw,因为当前用户没有安装该软件包。使用 Get-AppxPackage 查看已安装包的列表。注意:有关其他信息,请在事件日志中查找 [ActivityId] 8a315047-822f-0000-d65f-318a2f82d501 或使用命令行 Get-AppPackageLog -ActivityID 8a315047-822f-0000-d65f-318a2f82d501 At line:1 char:38 + 获取-AppxPackage -allusers fitbit| Remove-AppxPackage + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Fitbit.FitbitCo...__6mqt6hf9g46tw:String) [Remove-AppxPackage], PSInval idOperationException + FullyQualifiedErrorId : DeploymentError ,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand

0 投票
4 回答
1490 浏览

azure - 在管道中使用 PowerShell 任务对 Azure VM 进行 Sysprep

我的 (dotNET) 应用程序是从构建管道构建的(使用 Windows 托管代理),在随后的发布管道中,我配置了一个 16GB-Win2016 VM(启用 RDP、HTTP、HTTPS、WinRM 和 SSH),我在其中手动 RDP(这里有手动干预任务),并配置 WinRM(按照本文:https ://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/virtual-machine/cpp-配置-winrm-a​​fter-vm-creation#configure-vm-to-enable-winrm)。一切都很好,直到这里。下一个任务是 Azure 文件复制任务,它实质上是复制构建工件(从$(System.DefaultWorkingDirectory))并粘贴到我指定的目录中。奇迹般有效。我的下一个任务是创建整个 VM 的 VHD(基本上是在复制完成之后)。

我知道我可以手动 RDP 进入 VM(再次)和sysprep(使用 oobe/generalize/shutdown),然后可能返回 Azure 门户和磁盘导出操作系统磁盘(指定 SAS URL 过期时间(每篇文章 36000) )) 但是这一切都可以自动化吗?

所以,长话短说 - 我想知道是否sysprep oobe/generalize/shutdown可以通过 PS 任务远程执行。我知道它的另一部分(导出磁盘和所有)可以,但是如果 sysprep 可以远程完成,那就没有了。

0 投票
1 回答
252 浏览

cloud - 为 OCI 上的通用 Windows Server 实例生成密码

据我了解,Oracle 默认的 Windows 服务器映像利用 Cloudbase-Init 和 Unattend.xml 文件为用户生成密码,但我对此感到好奇,因为我正在尝试使用其他软件创建自己的映像预装。我想生成一个随机密码,并且明确不要求用户更改它。话虽如此,这就是我尝试过的(我只包含了 Unattend.xml 文件的泛化部分):

尝试#1

对于我的第一次尝试,我尽我所能模仿我可以(据我所知)告诉默认图像正在做什么。这与使用 Oracle 的默认 Windows 2019 标准映像从通用实例中提取的无人值守和 cloubase 配置文件相同。使用这些后,系统会提示用户在登录时更改密码。

无人值守.xml

cloudbase-init-unattend.conf

尝试#2

对于我的第二次尝试,我尝试向无人参与文件中添加一个命令,该命令将导致不提示用户更改密码。我使用了与尝试 #1 相同的 cloubase 配置文件。概括后,仍然提示用户选择新密码。

无人值守.xml

尝试#3

对于我的第三次尝试,我更改了 Unattend 文件中的命令顺序,以便在处理 cloudbase 初始化配置后,告知网络用户不要在登录时更改其密码。我再次使用了与尝试 #1 和 #2 相同的 cloubase 配置文件。概括后,仍然提示用户选择新密码。

无人值守.xml

这些方法都没有产生我想要的东西。我还尝试使用 Cloudbase-Init 中的插件生成密码,但似乎 Oracle 云代理覆盖了这一点,因为我完全无法通过 RDP 登录,而没有使用 Cloudbase 插件我可以登录但无法登录在设置新密码之前访问桌面。

这就引出了一个问题:什么在这里不起作用?这是一个配置问题,还是我从根本上误解了这个过程是如何工作的?

我将不胜感激任何人可能有的任何建议,或其他人创建的示例实现。谢谢!

0 投票
1 回答
345 浏览

azure - 带有远程 PowerShell 的 Sysprep Azure VM

我正在尝试通过 Azure DevOps YAML 管道在 Azure 中对 VM 进行 SysPrep。在同一管道(上一阶段)中,我通过 Azure 资源管理器 (ARM) 模板部署 VM,并将脚本和文件复制到机器上。我想自动化整个过程,因此不能选择 RDP 进入机器。当我在 VM 上运行 SysPrep 时,我收到以下错误消息:

从我的存储库中,我有几个文件,包括 SysPrep 机器 (sysPrepvm.ps1) 的 PowerShell 脚本 -通过来自 Azure powershell 的命令远程运行SysPrep 获取。当我在机器上登录并手动运行时,该脚本有效。

sysPrepvm.ps1

我正在使用 Azure DevOps 中的内置任务“Powershell on Target Machines”,通过它我可以调用其他命令或脚本,因此我确信该任务可以正常工作。

我在 YAML 管道中的阶段如下所示:

远程运行这个有限制吗?我还没有找到解决方法,因此非常感谢任何答案。

编辑

我还尝试使用 -Verb RunAs 作为内联脚本而不是 File 运行脚本,并尝试了上一篇文章中接受的答案:

在管道中使用 PowerShell 任务对 Azure VM 进行 Sysprep

0 投票
0 回答
432 浏览

azure - 使用 sysprep.exe 概括 azure-vm 失败 [0x0f0085 - 无法加载 DLL]

我们有几个 CI/CD 管道,我们在其中从 Windows VMS(Server 2016 DC)创建映像。然后使用这些映像在 azure 中部署新的 vm。在创建镜像之前,我们在 /quiet 模式下运行 sysprep.exe 来概括机器。这已经工作了很长时间,但从上周开始,我们注意到这一步存在问题。在 C:\Windows\system32\Sysprep\Panther\setuperr 中记录的错误消息是:

VMAgentDisabler.dll 可以位于记录的路径下。我想问一下,是否有人也遇到过这个问题。此外,高度赞赏有关如何处理此错误的任何建议或可能导致此错误的可能信息。

微软似乎知道这个问题,但他们文档中建议的修复对我的情况没有帮助。 https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/error-occurs-when-running-sysprep-generalize

0 投票
0 回答
126 浏览

windows - 出现错误“Windows 无法应用无人参与应答文件的磁盘配置设置”

我有一台 Windows 10 Home 机器(VirtualBox)。它的 EFI 机器,磁盘是 GPT 和动态的。请参考下图

在此处输入图像描述

下图显示了现有分区 在此处输入图像描述

我正在尝试使用 WDS 在其上安装 Windows 10 Pro。我不想擦除“磁盘 0”,但我只想将“分区 4”格式化为包含操作系统的 NTFS。

以下是我的“unattend.xml”的一部分

我收到以下错误 在此处输入图像描述

笔记::

  • “磁盘 0”是 GPT,动态 = 错误。
  • “磁盘 0”只是 GPT 而不是动态 = 无错误,安装成功。

我试图找到以下问题的答案

  1. 为什么我收到此错误?
  2. 我的“unattend.xml”有什么问题?
  3. 我需要在“unattend.xml”中进行哪些更改才能使其正常工作?
  4. 为什么只有当磁盘既是 GPT 又是动态而不是磁盘只是 GPT 时才会出现错误?
0 投票
1 回答
232 浏览

azure - 默认禁用 Azure 新 VM 帐户(自定义映像)

使用自定义 Windows 映像在 Microsoft Azure 中创建 VM 时遇到问题。

问题

使用在 Azure 门户中输入的凭据连接到新生成的 VM 时,我收到以下消息:

使用 Azure 门户的“运行命令”菜单运行Get-LocalAccount脚本,我得到以下输出:

解决方法

如果我使用Azure VM 连接错误的过程 - 用户帐户当前已禁用且无法使用,我可以解锁用户并通过 RDP 连接到 VM。

我还尝试在系统准备 VM 之前创建一个新用户,以便在创建 VM 期间由 Azure 重命名和禁用本地管理员帐户,但创建的用户帐户保持启用状态。

图片信息

操作系统:Windows 10 LTSC 2019

来源:我公司使用的自定义部署映像。它与 ISO 一起安装在本地 HyperV 机器上,从托管磁盘上传到 Azure 和 SysPrep。

在运行 sysprep 之前,在 VM 上安装了 WindowsAzureVmAgent 版本 2.7.41491.949_191001-1418。

采取的步骤

  • 重新启用帐户并再次运行 Sysprep 以创建新快照并不能解决问题
  • 在 Sysprep 设备之前重命名本地管理员帐户没有任何效果。
  • 检查了当地的政策,没有什么不寻常的。
0 投票
1 回答
448 浏览

terraform - terraform-provider-vsphere 自定义 windows ip 地址失败 sysprep “Windows 安装程序无法配置 Windows 以在此计算机的硬件上运行”

我目前正在尝试使用 terraform 和 packer 部署域控制器。我构建了一个 Windows Server 2016 模板,并在其中安装了 Active Directory 域控制器。

以下是我部署 VM 的方式:

部署失败并出现以下错误:

在 VM 的屏幕上,出现此消息“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行”

C:\Windows\Temp\vmware-imc 中没有错误。在 C:\Windows\Panther\setuperr.log 中:

在 C:\Windows\System32\Sysprep\Panther\setuperr.log 中:

我认为 0x32 表示“不支持该请求”。(来源:https ://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499- )但我不明白发生了什么。我猜这个问题与 MSRT 有关,但我没有发现任何关于“Failed ConnectServer”的类似错误

我尝试在 VM 上运行 Windows 更新并从 Windows2016 更改为 Windows2019,但似乎没有任何效果。有谁知道是什么导致了这个问题?Sysprep 是否需要网络连接才能工作?

编辑:我也尝试使用自定义最小 sysprep 应答文件,但我得到完全相同的错误。