針對 Azure 連線 機器代理程式連線問題進行疑難解答
本文提供針對設定適用於 Windows 或 Linux 的 Azure 連線 電腦代理程式時可能發生的問題進行疑難解答的資訊。 設定與服務的連線時,會同時包含互動式和大規模安裝方法。 如需一般資訊,請參閱 已啟用 Azure Arc 的伺服器概觀。
代理程序錯誤碼
使用下表來識別及解決使用 AZCM0000
[0000] 設定 Azure 連線 機器代理程式時的問題,錯誤碼可以列印到控制台或腳本輸出。
錯誤碼 | 可能的原因 | 建議的補救措施 |
---|---|---|
AZCM0000 | 動作成功 | N/A |
AZCM0001 | 發生未知的錯誤 | 請連絡 Microsoft 支援服務以取得協助。 |
AZCM0011 | 使用者取消動作 (CTRL+C) | 重試上一個命令。 |
AZCM0012 | 存取令牌無效 | 如果透過存取令牌進行驗證,請取得新的令牌,然後再試一次。 如果透過服務主體或裝置登入進行驗證,請連絡 Microsoft 支援服務 以尋求協助。 |
AZCM0016 | 遺漏必要參數 | 檢閱輸出中的錯誤訊息,以識別遺漏的參數。 如需命令的完整語法,請執行 azcmagent <command> --help 。 |
AZCM0018 | 命令在沒有系統管理許可權的情況下執行 | 在提升許可權的用戶內容中重試命令(系統管理員/根目錄)。 |
AZCM0019 | 組態檔的路徑不正確 | 請確定組態檔的路徑正確無誤,然後再試一次。 |
AZCM0023 | 為參數提供的值無效 | 如需更具體的資訊,請檢閱錯誤訊息。 如需有效值或自變數的預期格式,請參閱 命令的語法 (azcmagent <command> --help )。 |
AZCM0026 | 網路設定或某些重要服務暫時無法使用時發生錯誤 | 檢查是否可連線到所需的端點(例如,可解析主機名、不會封鎖端點)。 如果網路設定為 Private Link 範圍,則必須提供 Private Link 範圍資源識別碼,才能使用 --private-link-scope 參數上線。 |
AZCM0041 | 提供的認證無效 | 針對裝置登入,請確認指定的用戶帳戶可以存取將建立伺服器資源的租用戶和訂用帳戶。 針對服務主體登入,請檢查用戶端標識符和密碼的正確性、秘密的到期日,以及服務主體來自將建立伺服器資源的相同租使用者。 |
AZCM0042 | 建立已啟用 Azure Arc 的伺服器資源失敗 | 檢閱輸出中的錯誤訊息,以識別建立資源和建議補救失敗的原因。 如需詳細資訊,請參閱 連線 計算機代理程式必要條件許可權以取得詳細資訊。 |
AZCM0043 | 刪除已啟用 Azure Arc 的伺服器資源失敗 | 確認指定的使用者/服務主體具有刪除指定群組中已啟用 Azure Arc 的伺服器/資源的許可權。 如需詳細資訊,請參閱 連線 計算機代理程式必要許可權。 如果資源已不存在於 Azure 中,請使用 --force-local-only 旗標繼續進行。 |
AZCM0044 | 已經存在具有相同名稱的資源 | 為 --resource-name 參數指定不同的名稱,或刪除 Azure 中現有的已啟用 Azure Arc 的伺服器,然後再試一次。 |
AZCM0062 | 連接伺服器時發生錯誤 | 如需更具體的資訊,請檢閱輸出中的錯誤訊息。 如果在建立 Azure 資源之後發生錯誤,請在重試之前刪除此資源。 |
AZCM0063 | 中斷伺服器連線時發生錯誤 | 如需更具體的資訊,請檢閱輸出中的錯誤訊息。 如果此錯誤持續發生,請刪除 Azure 中的資源,然後在伺服器上執行 azcmagent disconnect --force-local-only 。 |
AZCM0067 | 機器已連線到 Azure | 執行 azcmagent disconnect 以移除目前的連線,然後再試一次。 |
AZCM0068 | 已提供訂用帳戶名稱,並在查閱對應的訂用帳戶 GUID 時發生錯誤。 | 使用訂用帳戶 GUID 而非訂用帳戶名稱重試命令。 |
AZCM0061 AZCM0064 AZCM0065 AZCM0066 AZCM0070 |
代理程式服務沒有回應或無法使用 | 確認命令是在提升許可權的使用者內容中執行(系統管理員/根目錄)。 請確定 HIMDS 服務正在執行(視需要啟動或重新啟動 HIMDS),然後再試一次命令。 |
AZCM0081 | 下載 Microsoft Entra 受控識別憑證時發生錯誤 | 如果在嘗試將伺服器連線到 Azure 時遇到此訊息,代理程式將無法與 Azure Arc 服務通訊。 刪除 Azure 中的資源,然後再次嘗試連線。 |
AZCM0101 | 命令未成功剖析 | 執行 azcmagent <command> --help 以檢閱命令語法。 |
AZCM0102 | 擷取電腦主機名時發生錯誤 | 重試命令並指定資源名稱(參數 --resource-name 或 –n)。 只使用英數位元、連字元和/或底線;請注意,資源名稱不能以連字元或底線結尾。 |
AZCM0103 | 產生 RSA 金鑰時發生錯誤 | 請連絡 Microsoft 支援服務以取得協助。 |
AZCM0105 | 下載 Microsoft Entra ID 受控識別憑證時發生錯誤 | 刪除在 Azure 中建立的資源,然後再試一次。 |
AZCM0147- AZCM0152 |
在 Windows 上安裝 Azcmagent 時發生錯誤 | 如需更具體的資訊,請檢閱輸出中的錯誤訊息。 |
AZCM0127- AZCM0146 |
在 Linux 上安裝 Azcmagent 時發生錯誤 | 如需更具體的資訊,請檢閱輸出中的錯誤訊息。 |
AZCM0150 | 安裝期間的一般失敗 | 提交支援票證以取得協助。 |
AZCM0153 | 不支援系統平臺 | 檢閱支援平臺的必要條件 |
AZCM0154 | 系統上安裝的PowerShell版本太舊 | 升級至 PowerShell 4 或更新版本,然後再試一次。 |
AZCM0155 | 執行安裝文稿的用戶沒有系統管理員許可權 | 以系統管理員身分重新執行腳本。 |
AZCM0156 | 安裝代理程序失敗 | 確認機器未在 Azure 上執行。 在的安裝記錄檔 %TEMP%\installationlog.txt 中,可能會發現詳細的錯誤。 |
AZCM0157 | 無法下載 Microsoft Linux 軟體存放庫的存放庫元數據 | 檢查防火牆是否封鎖存取, packages.microsoft.com 然後再試一次。 |
代理程式詳細信息記錄
遵循本文稍後所述的疑難解答步驟之前,您需要的最低資訊是詳細信息記錄檔。 當使用詳細資訊 (-v) 自變數時,它會包含 azcmagent 工具命令的輸出。 記錄檔會寫入 Windows,Linux 會寫入 %ProgramData%\AzureConnectedMachineAgent\Log\azcmagent.log
至 /var/opt/azcmagent/log/azcmagent.log
。
Windows
以下是在執行互動式安裝時,使用 windows 連線 電腦代理程式啟用詳細資訊記錄的命令範例。
& "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --verbose
以下是使用服務主體執行大規模安裝時,使用 連線 Machine Agent for Windows 啟用詳細資訊記錄的命令範例。
& "$env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe" connect `
--service-principal-id "{serviceprincipalAppID}" `
--service-principal-secret "{serviceprincipalPassword}" `
--resource-group "{ResourceGroupName}" `
--tenant-id "{tenantID}" `
--location "{resourceLocation}" `
--subscription-id "{subscriptionID}"
--verbose
Linux
以下是在執行互動式安裝時,使用適用於Linux的 連線Machine代理程式啟用詳細資訊記錄的命令範例。
注意
您必須在Linux電腦上具有 根 訪問許可權,才能執行 azcmagent。
azcmagent connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --verbose
以下是使用服務主體執行大規模安裝時,使用 連線 Ed Machine Agent for Linux 啟用詳細資訊記錄的命令範例。
azcmagent connect \
--service-principal-id "{serviceprincipalAppID}" \
--service-principal-secret "{serviceprincipalPassword}" \
--resource-group "{ResourceGroupName}" \
--tenant-id "{tenantID}" \
--location "{resourceLocation}" \
--subscription-id "{subscriptionID}"
--verbose
服務代理程式連線問題
下表列出一些已知錯誤和建議,說明如何進行疑難解答並加以解決。
訊息 | 錯誤 | 可能的原因 | 解決方案 |
---|---|---|---|
無法取得授權令牌裝置流程 | Error occurred while sending request for Device Authorization Code: Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/devicecode?api-version=1.0: dial tcp 40.126.9.7:443: connect: network is unreachable. |
無法連線到 login.windows.net 端點 |
執行 azcmagent 檢查 以查看防火牆是否封鎖對 Microsoft Entra ID 的存取。 |
無法取得授權令牌裝置流程 | Error occurred while sending request for Device Authorization Code: Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/devicecode?api-version=1.0: dial tcp 40.126.9.7:443: connect: network is Forbidden . |
Proxy 或防火牆封鎖對端點的 login.windows.net 存取。 |
執行 azcmagent 檢查 以查看防火牆是否封鎖對 Microsoft Entra ID 的存取。 |
無法從SPN取得授權令牌 | Failed to execute the refresh request. Error = 'Post https://login.windows.net/fb84ce97-b875-4d12-b031-ef5e7edf9c8e/oauth2/token?api-version=1.0: Forbidden' |
Proxy 或防火牆封鎖對端點的 login.windows.net 存取。 |
執行 azcmagent 檢查 以查看防火牆是否封鎖對 Microsoft Entra ID 的存取。 |
無法從SPN取得授權令牌 | Invalid client secret is provided |
服務主體密碼錯誤或無效。 | 確認服務主體秘密。 |
無法從SPN取得授權令牌 | Application with identifier 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' wasn't found in the directory 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant |
服務主體和/或租用戶標識符不正確。 | 確認服務主體和/或租用戶標識符。 |
取得 ARM 資源回應 | The client 'username@domain.com' with object id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' does not have authorization to perform action 'Microsoft.HybridCompute/machines/read' over scope '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/MSJC01' or the scope is invalid. If access was recently granted, please refresh your credentials."}}" Status Code=403 |
錯誤的認證和/或許可權 | 確認您或服務主體是 Azure 連線 Machine Onboarding 角色的成員。 |
無法使用 Azcmagent 連線 ARM 資源 | The subscription isn't registered to use namespace 'Microsoft.HybridCompute' |
未註冊 Azure 資源提供者。 | 註冊資源提供者。 |
無法使用 Azcmagent 連線 ARM 資源 | Get https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/MSJC01?api-version=2019-03-18-preview: Forbidden |
Proxy 伺服器或防火牆封鎖對端點的 management.azure.com 存取。 |
執行 azcmagent 檢查 以查看防火牆是否封鎖對 Azure Resource Manager 的存取。 |
下一步
如果您沒有在這裡看到您的問題,或無法解決問題,請嘗試下列其中一個通道以取得更多支援:
透過 Microsoft Q&A 從 Azure 專家取得解答。
連線@AzureSupport,官方 Microsoft Azure 帳戶可改善客戶體驗。 Azure 支援會將 Azure 社群連線到解答、支持和專家。
提出 Azure 支援事件。 移至 Azure 支援 網站,然後選取 [取得支援]。