IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

如何解決轉網域(domain)後‧出現SCCM及Intune登錄某些問題

01. 公司又玩轉domain,不過發現執行下面SCCM Client安裝指令後,未能成功連接到新的SCCM伺服器。

ccmsetup.exe SMSSITECODE=HKG DNSSUFFIX=newdomain.com RESETKEYINFORMATION=TRUE

02. 拜託AI幫助,原來電腦之前安裝舊SCCM Client,會在『Windows Registry』中,把『AssignedSiteCode』及『GPRequestedSiteAssignmentCode』數值設置,但新執行『ccmsetup.exe』不過更改此Registry數值,做成SCCM Client新安裝,未能連接到新的SCCM伺服器。

Stop-Service CcmExec -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client" -Name "AssignedSiteCode" -Value "HKG"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client" -Name "GPRequestedSiteAssignmentCode" -Value "HKG" -ErrorAction SilentlyContinue
Start-Service CcmExec

03. 新SCCM Client終於安裝成功,但另一個問題又出現了,就是Company Portal登入後,顯示裝置未能登入到Intune裡面。『dsregcmd /status』結果顯示『AzureAdJoined』為『NO』,而SCCM Client中,『Comanagement』顯示為『Disabled』。

04. 從AI給予了不少解決方向,以下為一個總結。

05. 確認相應既公司證書(certificate),已經由『certmgr.msc』輸入到本機。

06. 在『Windows Registry HKLM』中,刪除有關『DMClient』登錄碼資料。

$enrollments = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Enrollments' | Where-Object { $_.PSChildName -match '^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$' }
foreach ($item in $enrollments) {
$path = $item.PSPath
if (Test-Path "$path\DMClient") {
Write-Host "Removing $path"
Remove-Item -Path $path -Recurse -Force
}
}

07. 重置(reset)本機SCCM Client政策(policy),之後要求SCCM Client即時連到SCCM伺服器,最後再進行加入到Azure domain。

Stop-Service CcmExec -Force
Start-Sleep -Seconds 10
Invoke-CimMethod -Namespace "root\ccm" -ClassName "SMS_Client" -MethodName "ResetPolicy" -Arguments @{ uFlags = [uint32]1 }
Invoke-CimMethod -Namespace "root\ccm" -ClassName "SMS_Client" -MethodName "TriggerSchedule" -Arguments @{ sScheduleID = "{00000000-0000-0000-0000-000000000021}" }
dsregcmd /join /debug

08. 如以上方法未能成功將本機加入到Azure domain,重新啟動Winmgmt及CcmExec服務,再移除本機的Entra ID註冊或加入狀態,刪除『Windows Registry』中與Entra ID雲端網域加入裝置註冊相關的登錄碼。再次加入到Azure domain。

Restart-Service Winmgmt -Force
Start-Sleep -Seconds 10
Restart-Service CcmExec -Force
Start-Sleep -Seconds 10
([wmiclass]"ROOT\ccm:SMS_Client").ResetPolicy(1)
Get-WmiObject -Namespace "root\ccm" -Class "SMS_Client" -List
dsregcmd /leave /debug
Start-Sleep -Seconds 10
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Enrollments" -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^[0-9A-Fa-f]{8}-' } | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CDJ" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CloudDomainJoin" -Recurse -Force -ErrorAction SilentlyContinue
dsregcmd /join /debug

09. 等待10-15分鐘,再次用『dsregcmd /status』檢查結果。

發佈留言

填寫的電子郵件地址不會公開。 必填欄位標示為 *