Workflow Manager 1.0 中的已知问题

 

发布时间: 2016年5月

本部分介绍 Workflow Manager 1.0 中的已知问题。

  • 当服务器的管理员组包含不同域中的帐户时,配置将会失败

  • 当服务器的管理员组包含无法解析的 SID 时,配置将会失败

  • Add-WFHost cmdlet 不能跨域工作

  • 如果将工作流范围的权限设置为 BUILTIN\Administrators,则客户端应用程序必须使用提升的权限运行

当服务器的管理员组包含不同域中的帐户时,配置将会失败

配置一个场后,将枚举场服务器的管理员组以确定配置用户是否具有管理员权限。如果管理员组包含其他域中调用用户的帐户,则此枚举将会失败。此问题的解决方法如下:

  1. 从管理员组中删除多余的帐户。

  2. 运行配置。

  3. 当配置完成时,重新添加这些帐户。

当服务器的管理员组包含无法解析的 SID 时,配置将会失败

配置一个场后,将枚举场服务器的管理员组以确定配置用户是否具有管理员权限。如果管理员组包含无法解析的安全标识符 (SID),则此枚举将会失败。解决方法是从管理员组中删除无法解析的帐户。

Add-WFHost cmdlet 不能跨域工作

当使用自动生成的证书时,Add-WFHost cmdlet 不能跨域工作。但是,Add-SBHost cmdlet 可以在此方案中工作。

如果将工作流范围的权限设置为 BUILTIN\Administrators,则客户端应用程序必须使用提升的权限运行

如果将工作流范围的权限设置为 BUILTIN\Administrators(即默认设置),则当未使用提升的权限运行客户端应用程序时,将引发类似于如下所示的异常。

调用方不具有此操作所需的必要权限。授予的权限:无。所需权限:WriteScope。从服务器收到 HTTP 标头 - ActivityId:AC318A5F-7B96-4DA1-A632-F175372BB8E1。NodeId:MACHINENAME。范围: /ExternalVariableSampleScope。客户端 ActivityId:4DD1EBC2-54C6-46ED-BD87-5CFE7BFFDDF4。

这是因为,除非用户在提升的进程中运行,否则 Windows 不授予当前用户管理员令牌,而不管该用户是否属于管理员组。

解决此问题有两个选择。

  1. 使用提升的权限运行客户端应用程序。

  2. 将范围的 p:microsoft.workflow.client.security.windowssecurityconfiguration.WorkflowAdminGroupName 更新为用户所属的其他非管理员组,如 BUILTIN\Users。执行此操作的一种方法是运行以下 PowerShell 脚本。

    $sec = New-Object Microsoft.Workflow.Client.Security.WindowsSecurityConfiguration("All Users")
    $sec.WorkflowAdminGroupName = "Users"
    

    有关详细信息,请参阅 使用 PowerShell 配置 Workflow Manager 1.0