部署 Project 网页版

Microsoft Project 网页版即将成为Microsoft Planner,目前正在向客户推出。若要详细了解如何为组织设置新Planner,请参阅管理员Microsoft Planner

Project 网页版可用于默认环境以及沙盒和生产 Dataverse 环境。

通过默认环境中的Project 网页版,客户可以快速开始创建项目、管理计划,并与组织中的其他用户共享它们。 由于默认情况下,每个人都是此环境的成员,因此允许用户创建和管理项目只需向其分配 Project 许可证即可。

在某些情况下,应考虑将 Project 部署到其他环境。 分别是:

  • 将项目自定义为不同业务部门的不同行为

  • 应用程序生命周期管理 (开发/测试/生产)

如果要部署到其他环境,则需要创建环境、部署 Project 以及为用户配置访问权限。

详细了解 Dataverse 环境

部署到默认环境

自动完成将 Project 部署到默认环境。 首次在Office 365租户中使用Project 网页版或路线图时,会为租户预配默认 Dataverse 实例,并部署解决方案。

预配新环境

注意

本部分仅适用于有兴趣将 Project 部署到非默认环境的管理员。

以下类型的环境支持项目:

  • 默认值
  • 生产
  • 沙盒

若要能够部署到沙盒和生产环境,需要使用数据库创建环境,并且必须禁用“启用Dynamics 365应用”开关。

D365 应用切换。

注意

如果为环境设置安全组,则只有该组中的用户才能查看这些项目和环境的其他信息。 此外,任务只能分配给该组中的用户。

详细了解如何创建和管理环境

将项目部署到环境

创建环境后,可以从 Power Platform 管理员 Center (PPAC) 将 Project 部署到环境。

从左侧导航菜单中打开“资源>Dynamics 365应用”页。 然后,将 Project Service Core 包安装到环境中。

项目包。

注意

如果安装包未显示在可用包列表中,则租户没有 Project 许可证,或者环境是在启用“启用Dynamics 365应用切换”的情况下创建的。

详细了解如何使用 PPAC 部署应用程序

配置角色和安全性

沙盒和生产环境需要其他配置。 将 Project CommonProject User 角色分配给将在环境中创建项目的任何人。 此外,请确保这些用户具有相应的 Project 许可证。

无需进行其他配置即可让用户在默认环境中管理项目。 默认环境中的用户只需项目许可证即可创建和管理项目。

详细了解 Project 的安全角色

注意

只有在将 Project Service Core 包部署到环境后,与项目相关的角色才可用。

在非默认环境中创建和管理项目

在非默认环境中,项目通过 Project Power App 创建和管理。 具有“项目用户”和“项目通用”角色的用户将看到“项目应用”磁贴显示在 “Office.com - 所有应用”部分中

将环境部署到不同的 Geography

所有环境都将在最初创建租户的地理位置中创建。 若要在不同的地理位置创建环境,需要联系Microsoft销售代表或经销商来启用此功能。

详细了解如何管理多个环境。

疑难解答

系统要求

若要预配和使用Project 网页版,需要满足系统先决条件。 默认情况下,这些先决条件处于启用状态。 下表提供了这些系统先决条件的详细信息。

企业应用程序

应启用以下企业应用程序:

Application Name 应用程序 ID
Dynamics 预配 39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f
Common Data Service 00000007-0000-0000-c000-0000000000000
Microsoft Flow 7df0a125-d3be-4c96-aa54-591f83ff541c
Microsoft PowerApps 475226c6-020e-4fb2-8a90-7a972cbfc1d4
Dynamics CRM Online Administration 637fcc9f-4a9b-4aaa-8713-a2a3cfda1505
Project Online f53895d3-095d-408f-8e93-8f94b391404e

验证企业应用程序的状态

若要验证是否启用了所需的企业应用程序,请执行以下步骤:

  1. 使用 以租户管理员身份登录 https://aad.portal.azure.com/

  2. 选择“ 企业应用程序”。 此时会显示 “企业应用程序 ”屏幕。

    “企业应用程序”屏幕。

  3. 在“ 应用程序类型 ”下拉列表中,选择“ 所有应用程序 ”,然后选择“ 应用”。

    选择“所有应用程序”值的屏幕。

  4. 使用此处显示的文本框并搜索表中列出的应用程序 ID。 例如 ,39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f。 应用程序 Dynamics Provision 显示在结果窗格中。

    显示要输入的应用程序 ID 文本框的屏幕。

  5. 选择 “Dynamics 预配”。 “ Dynamics 预配” 屏幕随即出现。

    “Dynamics 预配”屏幕。

  6. 在左窗格中选择 “属性 ”。

    显示 Dynamics Provision 的“属性”选项的屏幕。

  7. 确保 “允许用户登录 ”设置为“ ”。

    用户确保为 Dynamics Provision 启用用户登录的屏幕。

  8. 对前面列出的每个企业应用程序重复步骤 1-7。

使用 Azure Active Directory PowerShell for Graph 验证所需企业应用程序的状态

对于喜欢使用 Azure Active Directory PowerShell for Graph 而不是上述手动步骤的管理员,如果启用了上述应用程序列表,他们可以使用以下脚本检查。 此外,它还会进行检查,以确保所需的企业应用存在,并且正确设置了 AppRoleAssignmentRequired 属性:

Connect-AzureAd

$ProjectRequiredApps = Get-AzureADServicePrincipal -Filter " 
		                    AppId    eq '00000007-0000-0000-c000-000000000000'   
		                    or AppId eq '475226c6-020e-4fb2-8a90-7a972cbfc1d4'  
		                    or AppId eq '637fcc9f-4a9b-4aaa-8713-a2a3cfda1505' 
		                    or AppId eq '7df0a125-d3be-4c96-aa54-591f83ff541c' 
		                    or AppId eq '39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f' 
		                    or AppId eq 'f53895d3-095d-408f-8e93-8f94b391404e'
		                    "
		
$ProjectRequiredApps | Select DisplayName, AppID, ObjectID, AccountEnabled, AppRoleAssignmentRequired, ReplyURLs | ft
		
#Check that all required Enterprise Apps are present. Create hashtable to check that app exists and if so remove from list. Entries left behind means it's missing.  
[hashtable]$EntApps = [ordered]@{"Dataverse"                          = "00000007-0000-0000-c000-000000000000"
                                 "Microsoft Flow Service"             = "7df0a125-d3be-4c96-aa54-591f83ff541c"
                                 "Dynamics Provision"                 = "39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f"
                                 "Dynamics CRM Online Administration" = "637fcc9f-4a9b-4aaa-8713-a2a3cfda1505"
                                 "PowerApps Service"                  = "475226c6-020e-4fb2-8a90-7a972cbfc1d4"
                                 "Portfolios"                         = "f53895d3-095d-408f-8e93-8f94b391404e"
                                 }

Foreach ($App in $ProjectRequiredApps) #Remove from hashtable if app exist. 
{
    If ($EntApps.Item($App.DisplayName)) 
    {
        $EntApps.Remove($App.DisplayName)
    }
}

If ($EntApps.Count -gt 0)
{
   Write-Host "Check#1: One or more required Enterprise Apps are missing." -ForegroundColor Red
   Write-Host "Please check that you have 1 or more of the following subscriptions: Planner Plan 1, Planner and Project Plan 3, or Planner and Project Plan 5." -ForegroundColor Red
   $EntApps | ft -a 
}
else
{
    Write-Host "Check#1: All required Enterprise Apps are present." -ForegroundColor Yellow 
}


#Check that required apps are enabled (AccountEnabled=True) if not display message to enable the required Enterprise Apps.
If ($ProjectRequiredApps | ? {$_.AccountEnabled -eq $false}) 
{ 
	Write-Host "Check#2: The following required AAD Enterprise App is disabled." 
	Write-Host "Instructions on how to enable the required app via Azure Active Directory Admin Center are at: https://learn.microsoft.com/project-for-the-web/deploying-project" -ForegroundColor Red
	Write-Host "If you prefer using Powershell, for each App in the list use the Powershell cmdlet ""Set-AzureADServicePrincipal"" to enable the app." -ForegroundColor Red
	Write-Host "Example:`n" -ForegroundColor Red
	Write-Host "    Set-AzureADServicePrincipal -ObjectId "“ObjectId GUID from below output."”-AccountEnabled `$true" -ForegroundColor Red
	Write-Host "`nMore info on the cmdlet ""Set-AzureADServicePrincipal can be found"" at: https://learn.microsoft.com/powershell/module/azuread/set-azureadserviceprincipal" -ForegroundColor Red
    $ProjectRequiredApps | Select DisplayName, AppID, ObjectID, AccountEnabled | ? {$_.AccountEnabled -eq $false} | ft
} 
Else 
{ 
	Write-Host "Check#2: All required Enterprise Apps are enabled." -ForegroundColor Yellow 
}


#Check that AppRoleAssignmentRequired for all required apps is set to False (AppRoleAssignmentRequired=False).
If ($ProjectRequiredApps | ? {$_.AppRoleAssignmentRequired -eq $true}) 
{ 
	Write-Host "Check#3: The AppRoleAssignmentRequired property for the specified Enterprise App is set to True." -ForegroundColor Red
	Write-Host "Out of box this setting should be set to False. If set to True, it can prevent Project for the Web from working correctly." -ForegroundColor Red
	Write-Host "This setting can only be modified via Powershell, for each App in the list use the Powershell cmdlet ""Set-AzureADServicePrincipal"" to change the AppRoleAssignmentRequired to False." -ForegroundColor Red
	Write-Host "Example:`n" -ForegroundColor Red
	Write-Host "    Set-AzureADServicePrincipal -ObjectId "“ObjectId GUID from below output."”-AppRoleAssignmentRequired `$false" -ForegroundColor Red
	Write-Host "`nMore info on the cmdlet ""Set-AzureADServicePrincipal can be found"" at: https://learn.microsoft.com/powershell/module/azuread/set-azureadserviceprincipal" -ForegroundColor Red
	$ProjectRequiredApps | Select DisplayName, AppID, ObjectID, AccountEnabled, AppRoleAssignmentRequired | ? {$_.AppRoleAssignmentRequired -eq $true} | ft -a
} 
Else 
{ 
	Write-Host "Check#3: The AppRoleAssignmentRequired property for all required Enterprise Applications are set correctly." -ForegroundColor Yellow 
}