none
SteadyState and MS Virtual Server RRS feed

  • Question

  • I'm considering downloading SteadyState for our training PCs and I wonder if any of you have had experience using the software with Virtual Server.  Our scenario is:

     

    1. On Monday we have a workstation loaded with XP.  We then install Virtual Server.  On this Virtual Server we use 2003 and install SQL Server 2005 on it.  Our home grown applications function both on the server as well as on the workstation.  Our customers then will walk through configuration of our applications, database setup, etc with an instructor for the first three days of class.

     

    2. On Wednesday evening the instructor re-ghosts the machines back to the original (Monday AM) image.  The customer then completes a 'walkthrough' of the install during the day on Thursday with instructor assistance.

     

    3. On Thursday evening the instructor re-ghosts the machines back to the original (Monday AM) image.  The customer then completes a certification install on Friday.

     

    The following Monday may start all over the previous scenario or we may use the workstations for a completly different setup.  My hope is that SteadyState would 'undo' all installation changes and SQL setup.  If I'm reading the information correctly for SteadyState - I think it can help us simplify steps 2 and 3. 

     

    Thursday, January 3, 2008 8:20 PM

Answers

  • Hi Trent,

     

    Thank you for posting here!

     

    I would like to know if we need to restart the computer when installing software. If not, we can simply configure Windows Disk Protection (WDP) to “Remove all change at restart”. By doing so, a reboot will remove all changes automatically.

     

    Another method is using WDP’s “Retain changes temporarily” feature to restart the computer and clear the changes on a time you specified. You can configure this manually, or automatically with some scripts.

     

    The script method will be a little complex as we need to restore the system several times a week. Based on your situation, we need at least 2 scripts & 3 Schedule Tasks to achieve this:

     

    Script1

    set dateTime = CreateObject ("WBemScripting.SWbemDateTime")

    Const WDP_MODE_PERSIST = 1

     

    ' Persist until 1+21/24=1.375 days later (Tomorrow, 9:00PM).

    dateToday = Date()

    dateTime.SetVarDate dateToday + 1.375

     

    ' Identify the computer to manage

    strComputer= "."

     

    set objWbemServices = GetObject ("winmgmts:\\" & strComputer & "\root\wmi")

    set setWdpObjects   = objWbemServices.ExecQuery ("SELECT * FROM WDP_Control")

     

    for each objWdp in setWdpObjects

       objWdp.CurrentMode  = WDP_MODE_PERSIST

       objWdp.PersistDateTime = dateTime.GetFileTime

       objWdp.Put_

    next

     

     

     

    Script2

    set dateTime = CreateObject ("WBemScripting.SWbemDateTime")

    Const WDP_MODE_PERSIST = 1

     

    ' Persist until 5+21/24=5.375 days later (5 days later, 9:00PM).

    dateToday = Date()

    dateTime.SetVarDate dateToday + 5.375

     

    ' Identify the computer to manage

    strComputer= "."

     

    set objWbemServices = GetObject ("winmgmts:\\" & strComputer & "\root\wmi")

    set setWdpObjects   = objWbemServices.ExecQuery ("SELECT * FROM WDP_Control")

     

    for each objWdp in setWdpObjects

       objWdp.CurrentMode  = WDP_MODE_PERSIST

       objWdp.PersistDateTime = dateTime.GetFileTime

       objWdp.Put_

    next

     

     

    Here is my plan for your reference:

    ================

    1. Install SteadyState and enable WDP. Run script2 on Friday night 10:00PM ( You can create a Schedule Task A to do so). This will configure WDP to “Retain changes temporarily”, and the date will be configure to 5 days later (Wednesday, 9:00PM).

    2. In the next 5 days, changes can be cached temporarily (if the WDP cache file is big enough). On Wednesday, 9:00PM, it will restore the system automatically.

    3. After restoring the system, we can assume it can be done within one hour. Run script1 (with Schedule Task B), it will reset the “Retain changes temporarily” date to Thursday night.

    4. On Thursday, 9:00PM, the system will be restored again. After that (we assume one hour), run script1 again (with Schedule Task C), it will reset the “Retain changes temporarily” date to Friday night.

    5. On Friday, 9:00PM, the system will be restored the third time. If it can be restored successfully within one hour, on 10:00PM, script2 will run again, which will reset the restore time to 5 days later.

     

    Please understand that this is an ideal assumption, if one of the Schedule Tasks failed to run, or if the system failed to restore, the loop will be interrupted. If you would like to verify whether it works, we can adjust the system clock to test.

     

    I also included two related threads for your reference:

     

    Reset my System every Day at 00:00

    http://forums.microsoft.com/WindowsToolsandUtilities/ShowPost.aspx?PostID=1889736&SiteID=69

     

    Retain Changes Temporarily until Friday 20:00

    http://forums.microsoft.com/WindowsToolsandUtilities/ShowPost.aspx?PostID=2355716&SiteID=69

     

    Best Regards,

     

    Friday, January 4, 2008 2:59 AM