Important: the scripts below are not officially approved scripts, they have not been officially tested, they are shared "as is".
Please test extensively before implementing in production.
Workaround 1:
Before moving a computer populate the registry settings with the value of the source domain.
This can be done via a script, which can be used during the move: “Run this script before task execution”
As script a cmd file can be used, the file could be one single line (no line break)
powershell.exe -Command "& {$DomainPart='SOURCE'; $creds=Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI -Name LastLoggedOnUser; if($creds.LastLoggedOnUser.contains('@')){$user=$creds.LastLoggedOnUser.Split('@')[0]} else {$user=$creds.LastLoggedOnUser.Split('\')[1]};set-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI -name LastLoggedOnUser -value $DomainPart'\'$user; set-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI -name LastLoggedOnSAMUser -value $DomainPart'\'$user}"
where as $DomainPart the NetBios of the SOURCE domain should be specified, the domain which is specified as source domain under domain pair properties.
Workaround 2:
Not all of computers might have powershell installed, below is a VB Script.
This script will update the registry entries for both Windows XP and Windows 7 computers.
Please replace the Domain1,2 3 entries with your values.
function readFromRegistry (strRegistryKey, strDefault )
Dim WSHShell, value
On Error Resume Next
Set WSHShell = CreateObject("WScript.Shell")
value = WSHShell.RegRead( strRegistryKey )
if err.number
readFromRegistry= strDefault
else
readFromRegistry=value
end if
set WSHShell = nothing
end function
Set shell = CreateObject("WScript.Shell")
str =
readfromRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnUser","")
str = Replace(str,"Domain1\"," Domain2\", 1, -1, vbTextCompare)
str = Replace(str," Domain3\"," Domain2\", 1, -1, vbTextCompare)
shell.RegWrite
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnUser",
str, "REG_SZ"
shell.RegWrite
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnSAMUser",
str, "REG_SZ"
shell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\AltDefaultDomainName", " Domain2", "REG_SZ"
shell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\DefaultDomainName", " Domain2", "REG_SZ"
shell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\CachePrimaryDomain", " Domain2", "REG_SZ"