Archive

Posts Tagged ‘ms-deployment-toolkit’

More ways of making minor changes to a domain-joined, deepfrozen computer lab image

  1. Re-imaging a domain-joined, deep-frozen Windows XP language lab using Symantec Ghost and Deepfreeze can be a drawn-out process.
  2. Minor fixes can be achieved by unfreezing and using a Symantec-Ghost file task and a script that loads  the default user registry hive – here is how:
  3. sTempHive = """HKEY_USERS\Test"""
    
    '//vista and up: sDefaultUserHive = """%USERPROFILE%\..\Default\NTUSER.DAT"""
    
    sDefaultUserHive = """%USERPROFILE%\..\Default User\NTUSER.DAT"""
    
    sSName = oUtility.ScriptName
    
    set oShell = WScript.CreateObject ("Wscript.Shell")
  4. and alters it before freezing the lab again. Here are some examples of such fixes:
    1. change the default keyboard (after users logs in):
      oLogging.CreateEntry sSName & ": Setting US-International as Default Keyboard Layout",LogTypeInfo
      
      RegPath = "HKEY_USERS\Test\Keyboard Layout\Substitutes\"
      
      oshell.RegWrite Regpath & "00000409", "00020409", "REG_SZ"
      
      If Err<>0 Then 
      
        oLogging.CreateEntry sSName & ": Failed to update Default Keyboard Layout setting",LogTypeError
      
        ZTIProcess=60
      
        Exit Function
      
      End If
      
      
      
    2. change visibility of the developer tab in the ribbon of MS-Word:
      oLogging.CreateEntry sSName & ": Setting MS-Word Developer Toolbar to show",LogTypeInfo
      
      RegPath = "HKEY_USERS\Test\Software\Microsoft\Office\14.0\Word\Options\"
      
      oshell.RegWrite Regpath & "DeveloperTools", "1", "REG_SZ"
      
      If Err<>0 Then 
      
        oLogging.CreateEntry sSName & ": Failed to update S-word developer tools settings",LogTypeError
      
        ZTIProcess=40
      
        Exit Function
      
      End If
      
      
      
    3. change the SDL-Trados licensing server IP:
      oLogging.CreateEntry sSName & ": Setting Default User Trados license server",LogTypeInfo
      
      RegPath = "HKEY_USERS\Test\Software\Trados\Shared\Licence"
      
      oshell.RegWrite Regpath & "Licence_file", "27000@10.18.189.231", "REG_SZ"
      
      If Err<>0 Then 
      
        oLogging.CreateEntry sSName & ": Failed to update Default User Trados license server setting",LogTypeError
      
        ZTIProcess=35
      
        Exit Function
      
      End If
      
      
      
      oLogging.CreateEntry sSName & ": Setting Default User Screensaver timeout settings",LogTypeInfo
      
      RegPath = "HKEY_LOCAL_MACHINE\SOFTWARE\FLEXlm License Manager"
      
      oshell.RegWrite Regpath & "Trados_License_File", "27000@10.18.189.231;27000@xlcs4sbynj1www", "REG_SZ"
      
      If Err<>0 Then 
      
        oLogging.CreateEntry sSName & ": Failed to update Screensaver to timeout settings",LogTypeError
      
        ZTIProcess=30
      
        Exit Function
      
      End If
      
      
      
  5. On Ghost:
    1. We create a Ghost file task that points to the wsf file with the current changes we want to implement:
    2. imageimage 
      1. image To apply other changes, just change the filename of your script , e.g.: clip_image001
    3. to apply to other computers, just change the target in the ghost task.
  6. Output:
    1. image
    2. These scripts use the ZTIUtility.vbs from the MDT.
      1. You may have to update the location: <script language="VBScript" src="ZTIUtility.vbs"/>.
      2. For a while, the logging success made me believe I I had accessed the ntuser.dat and had run into registry permission settings loading it. In fact, I just did not resolve to the XP path of the ntuser.dat. Take advantage of the the logging facilities that come with MDT: Here are your logs on the client: image.
      3. Read the logs with TRACE32, part of the SMS 2003 Toolkit 2.
  7. Result: Provided the client has been cleanly frozen, and the domain user has no profile created before on this machine, and his profile is based on the altered default user profile, his HKCU will inherit the changes: image image