如何解決轉網域(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』檢查結果。

發佈留言