|
THanks so much for the hints. I've taken you're idea and went some with it, and tested. Now I am having an issue. The loadhive() command never gives a return code of 0, and keeps giving me a 1314...
What may be amiss?
Thanks again, -Ron
IF @WKSTA = "NICKEL21" or @WKSTA = "NICKEL22" or @WKSTA = "NICKEL23" or @WKSTA = "NICKEL24" or @WKSTA = "NICKEL25"
; *BEGIN* Main Citrix Server Farm Loop Keep things between this line and the ending line
IF INGROUP ("eTIMEUsers") use T: /d; use T: "\\silver1\etime"; ENDIF
; ; Read HKEY_CURRENT_USER registry keys to see if something is there. We set these values at the end to mark it as "run once" ; We selected the subkey of HKEY_CURRENT_USER\Software\SchnitzerCitrix\ as our root key to check for this sort of thing. ; The below section maps 3 Drives (root of PERSONAL_SHARES, old Citrix Profile, and new P: Drive, then copies the needed ; files out of the old profile. The new Citrix Desktop profiles we limit to 30MB, so we move this to P instead. ;
; This variable and check for a reg key is how we "do this once" and "only once" ; If it is there, then we have done the work before, and we want to skip.
$CitrixCheckVar = ReadValue ("HKEY_CURRENT_USER\Software\SchnitzerCitrix", "2K3ProfileMigrateDone");
IF $CitrixCheckVar = 1 ? "This key exists, and therefore the ELSE Section has been done!"; ELSE
use w: /d; temp mapping to copy shortcut files from root of personal_share use w: \\hydrogen3\personal_shares;
use x: /d; temp mapping to copy files and folders from old profile use x: "\\corpfile\profiles\@USERID";
use y: /d; temp mapping to copy files and folders to new P Drive use y: "\\hydrogen3\personal_shares\@USERID";
copy "X:\Desktop\*.*" "y:\OldCitrixDesktop\" /s ; copies the files from OLD Citrix TSE Desktop to new one copy "X:\Favorites\*.*" "c:\documents and settings\" + @userid + "\Favorites\" /s ; copies the files from OLD Citrix TSE Favorites to new one copy "P:\Internet\Favorites\*.*" "c:\documents and settings\" + @userid + "\Favorites\" /s ; copies the files from P: Favorites to new one copy "W:\*.lnk" "c:\documents and settings\" + @userid + "\Desktop\" ; copies a shortcut to P:\OldCitrixDesktop\ on new citrix desktop
;This section below reads the old NTUSER.DAT from the Windows 2000 (NICKEL1X Boxes) and exports ;mapped drives and printers from the HKEY_CURRENT_USER section of the registry, and then imports ;it to the new Windows 2003 User profile
$filename = "x:\ntuser.dat"; $rootkey = "HKEY_USERS\Oldprofile"; $ReturnCodeLoadHive = LoadHive($rootkey,$filename)
? "The Return Code is = $ReturnCodeLoadHive
If $ReturnCodeLoadHive = 0 ? "Old Citrix Server Hive loaded....";
$ReturnCodeSavePrinter = SaveKey($rootkey + "\Printers\Connections", "x:\" + @USERID + "printers.reg");
If $ReturnCodeSavePrinter = 0 ? "Printers Key saved...."
$ReturnCodeLoadPrinter = LoadKey("HKEY_CURRENT_USER\Printers\Connections", "x:\" + @USERID + "printers.reg")
If $ReturnCodeLoadPrinter = 0 ? "Printers Key loaded...." Endif Endif
$ReturnCodeSaveDrives = SaveKey($rootkey + "\Network", "x:\" + @USERID + "drives.reg")
If $ReturnCodeSaveDrives = 0 ? "Network Drives Key saved...."
$ReturnCodeLoadDrives = LoadKey("HKEY_CURRENT_USER\Network", "x:\" + @USERID + "drives.reg")
If $ReturnCodeLoadDrives = 0 ? "Drives Key loaded...." Endif Endif Endif
; Cleanup from what you've done above...
;unloads the loaded hive from above $ReturnCodeLoadHive = UnLoadHive( $rootkey )
;disconnects the drives we mapped above to migrate the files
use w: /d; use x: /d; use y: /d;
;Write the registry key that shows we've done this before, so it is not done again
Writevalue("HKCU\Software\SchnitzerCitrix","2K3ProfileMigrateDone","1","REG_SZ") ENDIF
|