共用方式為


部署 Project 網頁版

Microsoft Project 網頁版 很快就會 Microsoft Planner,目前正在向客戶推出。若要深入瞭解如何為您的組織設定新的 Planner,請參閱系統管理員 Microsoft Planner

Project 網頁版 可用於默認環境和沙箱和生產 Dataverse 環境中。

默認環境中的 Project 網頁版 可讓客戶快速開始建立專案、管理排程,並與組織中的其他用戶共用。 因為每個人都是此環境的成員,所以讓使用者建立和管理專案只需要將 Project 授權指派給他們。

在某些情況下,您應該考慮將 Project 部署到其他環境。 例如:

  • 針對不同的業務單位自定義 Project 以不同方式運作

  • 應用程式生命週期管理 (開發/測試/生產)

如果您想要部署至其他環境,則必須建立環境、部署專案,以及設定使用者的存取權。

深入瞭解 Dataverse 環境

部署至默認環境

專案部署至預設環境會自動為您完成。 當 Project 網頁版 或藍圖第一次用於 Office 365 租使用者時,會為租使用者布建預設 Dataverse 實例,並部署解決方案。

布建新環境

注意事項

本節僅適用於有興趣將 Project 部署至非預設環境的系統管理員。

下列環境類型支援 Project:

  • 預設
  • 生產環境
  • 沙箱

若要能夠部署到沙箱和生產環境,必須使用資料庫建立環境,而且必須停用 [啟用 Dynamics 365 Apps] 切換。

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 建立和管理專案。 具有 Project User 和 Project Common 角色的使用者會看到 [專案應用程式] 圖格出現在 [Office.com – 所有應用程式] 區段中。

將環境部署到不同的地理位置

所有環境都會在最初建立租使用者的地理位置中建立。 若要在不同的地理位置建立環境,您必須連絡Microsoft銷售代表或轉銷商,才能啟用此功能。

深入瞭解管理多個環境。

疑難排解

系統需求

若要布建和使用 Project 網頁版,系統必要條件應該會開啟。 默認會啟用這些必要條件。 下表提供這些系統必要條件的詳細數據。

企業應用程式

應啟用下列企業應用程式:

Application Name 應用程式識別碼
Dynamics Provision 39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f
Common Data Service 000000007-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. 使用此處顯示的文字框,並搜尋數據表中所列的應用程式識別碼。 例如, 39e6ea5b-4aa4-4df2-808b-b6b5fb8ada6f。 [ Dynamics Provision] 應用程式會顯示在結果窗格中。

    顯示要輸入應用程式識別碼之文字框的畫面。

  5. 取 [動態布建]。 [ 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 
}