跳至内容

如何对卡滞在 Pending(待处理)状态的 WorkSpaces Applications 映像生成器进行故障排除?

3 分钟阅读
0

当我尝试启动 Amazon WorkSpaces Applications(前身为 Amazon AppStream 2.0)映像生成器时,其状态卡滞在 Pending(待处理)状态。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

映像生成器和实例集实例最多需要 25 分钟才能变为可用状态并更改为 Running(正在运行)状态。如果您的映像生成器在 25 分钟后仍处于 Pending(待处理)状态,请查看以下故障排除步骤。

弹性网络接口被删除或分离

如果缺少弹性网络接口,则映像生成器无法完成启动工作流,且状态会卡滞在 Pending(待处理)状态。

要检查您的网络接口的状态,请打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台。然后在导航窗格中,选择 Network Interfaces(网络接口)。

或者,在 AWS CLI 中运行以下命令:

aws ec2 describe-network-interfaces --filters 'Name=description,Values="AppStream 2.0 - image-builder:*"'

如果网络接口缺失或已分离,请从最后一个工作映像启动新的映像生成器。或者,使用 AWS 提供的基础映像。

注意: 您可以查看 AWS CloudTrail 日志,了解与网络接口删除或分离相关的事件详细信息,包括 eventTimeuserIdentity

PowerShell 策略限制

如果您在创建映像之前将 PowerShell 策略设置为 Restricted(受限),则映像生成器可能会卡滞在 Pending(待处理)状态。此外,其他 WorkSpaces Applications 资源可能无法启动。这是由于 Restricted(受限)策略阻止任何脚本(例如 AWS Systems Manager、Sysprep 或 reg 密钥设置)运行。

要避免此问题,请使用 AllSignedRemoteSigned 策略。有关详细信息,请参阅 Microsoft 网站上的 Use Group Policy to manage execution policy(使用组策略管理执行策略)。

使用 AppX 软件包的应用程序

使用 AppX 软件包(例如 Adobe Creative Cloud)的应用程序可能会导致 Sysprep 失败,映像生成器卡滞在 Pending(待处理)状态。

在完成映像创建过程的最后一步之前,以管理员身份在 PowerShell 中运行以下命令。

要获取计算机上 AppX 软件包的列表,请运行以下命令:

Get-AppxPackage | select Name, PackageFullName

要移除特定的 AppX 软件包,请运行以下命令:

Get-AppxPackage -AllUsers -Name AppXpackageName | Remove-AppxPackage -AllUsers

**注意:**请将 AppXpackageName 替换为要移除的软件包。

**重要事项:**必须在映像生成器上运行 Server 2019。Microsoft 已在版本 1709 中添加 -AllUsers 参数。映像生成器中的 Server 2016 在版本 1607 上运行,在使用 -AllUsers 参数时会返回错误。

有关详细信息,请参阅 Microsoft 网站上的 Get-AppxPackage

设备驱动程序冲突或不正确

映像生成器预装了所有必需的驱动程序。如果安装了冲突或不正确的驱动程序,映像生成器可能会保持 Pending(待处理)状态。

由于无法访问映像生成器,因此无法卸载冲突或不正确的驱动程序。要修复此问题,请使用最近的自定义映像启动新的映像生成器,或使用 AWS 提供的基础镜像。

网络接口限制

如果您的 AWS 账户达到 AWS 区域的网络接口限制,则映像生成器可能会卡滞在 Pending(待处理)状态。有关限制以及如何申请提高限额的详细信息,请参阅 Amazon VPC 配额

Sysprep 应答文件自定义问题

最佳做法是不自定义 Sysprep Unattend 应答文件。如果错误地自定义了文件,则可能会干扰 Windows 启动过程并阻止映像生成器正确启动。该过程也可能卡滞在欢迎屏幕上。

要修复此问题,请使用最近的自定义映像启动新的映像生成器,或使用 AWS 提供的基础镜像。

IPv6 关闭

如果您在关闭 IPv6 的情况下创建映像,则映像生成器将保持 Pending(待处理)状态。要修复此问题,请使用最近的自定义映像启动新的映像生成器,或使用 AWS 提供的基础镜像。

端口可用性

确认没有任何已安装的应用程序使用以下端口:

  • 端口 8300 上的入站 TCP,用于建立流式连接。
  • 端口 8000 和 8443 上的入站 TCP,用于 WorkSpaces Applications 管理流式传输实例。

有关详细信息,请参阅 Amazon WorkSpaces Applications 中的管理网络接口 IP 地址范围和端口

要允许访问 Amazon EC2 元数据服务,您必须向 IP 地址 169.254.169.254 开放端口 80 (HTTP)。如果您已配置代理,则必须从代理设置中排除 IP 地址 169.254.169.254。有关详细信息,请参阅 Amazon WorkSpaces Applications 中的客户网络接口端口

防病毒软件例外

防病毒软件可以屏蔽映像生成器所需的文件和端口。要解决此问题,请向以下文件夹路径添加例外:

  • %PROGRAMFILES%\Amazon\*
  • %PROGRAMFILES%\NICE\*
  • %PROGRAMFILES%\nodejs\*
  • %PROGRAMFILES%\Internet Explorer\*
  • C:\Windows\*

上述文件夹路径对应于以下服务:

  • AWSLiteAgent
  • AmazonSSMAgent
  • Ec2Config
  • PhotonAgent
  • PhotonAgentWebServer(侦听端口 8443)
  • DCVServer(侦听端口 8300)
  • QWAVE

设置为系统环境变量的 AWS CLI 凭证

如果您将 AWS CLI 凭证设置为系统环境变量,则映像生成器实例可能会卡滞在 Pending(待处理)状态。为防止出现此问题,请在实例集实例中更改系统环境变量

默认语言已更改为不支持的语言

您可以配置 WorkSpaces Applications 流式传输会话的默认区域设置,包括显示语言。如果您将默认语言更改为不支持的语言,映像生成器可能会卡滞在 Pending(待处理)状态。要查看 WorkSpaces Applications 当前支持的语言,请参阅指定默认显示语言

已删除或重命名本地管理员账户

WorkSpaces Applications 不支持重命名或删除本地管理员账户。如果您重命名或删除此账户,则映像创建将失败。

对于已加入域的映像生成器,如果组策略停用、删除或重命名本地管理员账户,则可以更新组策略对象 (GPO)。

如果 GPO 未更新本地管理员账户,请从最近的自定义映像启动新的映像生成器。或者使用 AWS 提供的基础映像。

通知代码(加入域的映像生成器)

要查看通知,请完成以下步骤:

  1. 打开 WorkSpaces Applications 控制台
  2. 在导航窗格中,选择 Images(映像)。
  3. Image Builder(映像生成器)选项卡中,选择您的映像生成器。
  4. 然后选择 Notifications(通知)选项卡。

有关详细信息,请参阅 Active Directory 域加入

DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN<br id=hardline_break/> 当映像生成器实例无法联系 Active Directory 域时,您会看到 DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN 错误。这会阻止映像生成器完成启动工作流。要验证网络连接,请执行以下操作:

DOMAIN_JOIN_ERROR_FILE_NOT_FOUND

当使用无效的组织单元 (OU) 专有名称时,您会看到 DOMAIN_JOIN_ERROR_FILE_NOT_FOUND 错误。必须将 WorkSpaces Applications 计算机对象放置在 OU 中,且专有名称必须以 OU= 开头。有关详细信息,请参阅查找组织单元专有名称

防火墙和网络配置(加入域的映像生成器)

在向映像生成器添加 Directory Config 对象之前,请确认防火墙和网络配置正确无误。

完成以下步骤:

  1. 从映像生成器打开 PowerShell 窗口,然后运行以下命令:
    Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 389 -InformationLevel "Detailed"
    Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 88 -InformationLevel "Detailed"
    Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 53 -InformationLevel "Detailed"
    **注意:**请将 yourdomain.exampleco.com 替换为您的域名。
  2. 对于每条命令的输出,请验证 TcpTestSucceeded 是否为 True。当 TcpTestSucceededTrue 时,您可以到达加入域所需的端口。有关详细信息,请参阅 Microsoft 网站上的 Test-NetConnection
  3. 在同一 PowerShell 窗口中,运行 Resolve-DnsName 命令以确认您可以查找域名:
    Resolve-DnsName -Name yourdomain.exampleco.com
    **注意:**请将 yourdomain.exampleco.com 替换为您的域名。

有关详细信息,请参阅 Microsoft 网站上的 Resolve-DnsName

或者,下载并运行 Microsoft PortQryUI 工具来验证所有必需的端口。有关详细信息,请参阅 PortQryUI

未创建新的计算机对象(加入域的映像生成器)

检查 Active Directory,验证映像生成器是否在正确的 OU 中创建了新的计算机对象。

如果有新对象,请等待片刻,映像生成器实例很快会变为可用状态。

如果映像生成器未在 Active Directory 中创建计算机对象,则会保持 Pending(待处理)状态。要对此问题进行故障排除,请首先确认您已授予所有必需的服务账户权限。然后,验证您的 WorkSpaces Applications Directory Config 对象中的以下目录配置详细信息是否正确:

  • 目录名称(目录的完全限定域名)
  • 服务账户用户名和密码
  • OU 专有名称

相关信息

如何创建 WorkSpaces Applications 映像并将其部署到我的实例集?

使用 Microsoft AppLocker 管理 Amazon AppStream 2.0 上的应用程序体验