On Error Resume Next Set oWshShell = CreateObject("WScript.Shell") Set oWshEnvironment = oWshShell.Environment("Process") Set oFileSystem = CreateObject("Scripting.FileSystemObject") Set WshNetwork = WScript.CreateObject("WScript.Network") sTempDir = oWshEnvironment("TEMP") Dim oExec Dim GuiAnswer strComputer = "." MyName = lcase(WshNetwork.ComputerName) Const ForAppending = 8 ' clean up %TEMP% directory from .log files oWshShell.Run "cmd.exe /C del /Q " & sTempDir & "\*.log", 0, TRUE ' open log file to record all actions taken set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile _ (sTempDir & "\VCLprepare.log", ForAppending, True) objTextFile.WriteLine("========================================================================") objTextFile.WriteLine(Now & " : auto_create_image.vbs : script started") objTextFile.WriteLine(Now & " : auto_create_image.vbs : cleaned up " & sTempDir & " directory from .log files") ' check that WAN network interface is enabled, if not - enable it WScript.Echo "Enabling WAN interface..." objTextFile.WriteLine(Now & " : auto_create_image.vbs : Enable WAN interface") oWshShell.Run "cscript.exe " & sTempDir & "\vcl\enWAN.vbs", 0, TRUE WScript.Echo "Done!" objTextFile.WriteLine(Now & " : auto_create_image.vbs : WAN interface enabled") ' setup to run prepare_for_image.vbs script after reboot 'objTextFile.WriteLine(Now & " : auto_create_image.vbs : setup RunOnce 'auto_prepare_for_image.vbs' after reboot") 'oWshShell.RegWrite "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\step0", "cmd.exe /c cscript.exe " & sTempDir & "\vcl\auto_prepare_for_image.vbs" 'check = oWshShell.RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\step0") 'objTextFile.WriteLine(Now & " : CHECK (RunOnce registry entry): " & check) ' enable AutoLogon after reboot 'objTextFile.WriteLine(Now & " : auto_create_image.vbs : enable Auto-Logon after reboot") 'oWshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon", "1" 'oWshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName", "root" 'check = oWshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon") 'objTextFile.WriteLine(Now & " : CHECK (AutoAdminLogon registry entry): " & check & " (should be 1)") ' disable pagefile objTextFile.WriteLine(Now & " : auto_create_image.vbs : disable page file") strCommand = "reg.exe add " & Chr(34) & _ "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" & Chr(34) &_ " /v PagingFiles /d " & Chr(34) & "" & Chr(34) & " /t REG_MULTI_SZ /f" Set oExec = oWshShell.Exec(strcommand) Do While oExec.Status = 0 WScript.Sleep 100 Loop strCommand = sTempDir & "\vcl\movefile.exe " & Chr(34) & "c:\pagefile.sys" & Chr(34) & " " & Chr(34) & Chr(34) Set oExec = oWshShell.Exec(strcommand) Do While oExec.Status = 0 WScript.Sleep 100 Loop 'check = oWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles") 'objTextFile.WriteLine(Now & " : CHECK (PagingFiles registry entry): '" & check(0) & "' (should be empty)") objTextFile.WriteLine(Now & " : auto_create_image.vbs : script finished, rebooting computer") objTextFile.WriteLine("========================================================================") 'close log file handler objTextFile.Close 'reboot computer to make changes effective Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate,(Shutdown)}!\\" & MyName & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems intreturn = ObjOperatingSystem.Win32Shutdown(6) if intreturn = 0 Then WScript.echo "createimage reboot" Else Wscript.echo "reboot failed error code " & intreturn End If Next WScript.Quit