compstuff Posted October 17, 2013 Posted October 17, 2013 When I do my SFX integration I actually call a "finish" cmd that I have in the image that performs a number of other tasks but I am banging my head against a wall because the very last step which is a simple shutdown reboot command doesn't work correctly... I constantly get "windows will shutdown in 1 minute" instead of what I set. If I run the shutdown string at a cmd prompt it runs fine. Can anyone shed some light on this??? ::::- - - Section 1 - - - - Block Installations - - - - - - - - - - - - - - - - - - - - - - - - - -::::::- - - Section 2 - - - - Install Programs - - - - - - - - - - - - - - - - - - - - - - - - - - - -::::::- - - Section 3 - - - - Group Policy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -:::REM Change group policy folder permissions to allow GP folder copy from install directory::::- - - Section 4 - - - - Firewall Settings - - - - - - - - - - - - - - - - - - - - - - - - - - -:::REM OPtimum Office Support:REM Remote Desktop:REM ICMPv4::::- - - Section 5 - - - - IE Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - -::::::- - - Section 6 - - - - Registry Settings - - - - - - - - - - - - - - - - - - - - - - - - - - -::start /wait "Registry Settings" /wait "%HOMEDRIVE%\install\Reg\reg.cmd"timeout /T 15start /wait "Registry Settings PsExec" /wait "%HOMEDRIVE%\install\Reg\regPsExec.cmd"timeout /T 15::::- - - Section 7 - - - - Active Setup Settings - - - - - - - - - - - - - - - - - - - - - - - - - - -::start /wait "Active Setup IE Settings" /wait "%HOMEDRIVE%\install\ActiveSetup\ASIEtweaksAdd.cmd"start /wait "Active Setup MP Settings" /wait "%HOMEDRIVE%\install\ActiveSetup\ASMPtweaksAdd.cmd"timeout /T 15::::- - - Section 8 - - - - RunOnce Settings - - - - - - - - - - - - - - - - - - - - - - - - - - -::REGEDIT /S "%HOMEDRIVE%\install\RunOnce_WU_Satisfy.reg"echo installed 3rd reboot RunOnce_WU_Satisfy.regtimeout /T 15::::- - - Section X - - - - Time Stamp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -::SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceREG ADD %KEY% /V "102 Time Stamp" /D "%HOMEDRIVE%\INSTALL\timestamp.cmd" /fecho timestamp createdtimeout /T 15::::- - - Section Y - - - - GP Update - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -:::REM Run gpupdate::::- - - Section Z - - - - REBOOT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -::echo run 3rd reboot shutdown commandtimeout /T 30shutdown /r /t 90 /d p:0:11 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"timeout /T 10 Quote
ricktendo Posted October 17, 2013 Posted October 17, 2013 Looks good to me, have you tried playing around with the quotes?timeout /T 30"shutdown /r /t 90 /d p:0:11 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy""timeout /T 10 Quote
compstuff Posted October 17, 2013 Author Posted October 17, 2013 I will try that now... I did try a bunch of different things including use "-" instead of "/" and no luck... its driving me NUTS... and thanks for responding Rick Quote
ricktendo Posted October 17, 2013 Posted October 17, 2013 Try usinset Message="Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"shutdown /r /t 90 /d p:0:11 /c %Message% Quote
compstuff Posted October 18, 2013 Author Posted October 18, 2013 Try usin set Message="Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"shutdown /r /t 90 /d p:0:11 /c %Message%I don't get it... everything looks correct yet is still doesn't work properly... such a simple item yet so darn frustrating Quote
ricktendo Posted October 18, 2013 Posted October 18, 2013 Try it without /d and stuff, do you really need this? Quote
compstuff Posted October 18, 2013 Author Posted October 18, 2013 I am testing a bunch of additional things now its just time consuming... I really only need the reboot which it does and it MUST last at least a full minute but 90 secs was safer Quote
ricktendo Posted October 18, 2013 Posted October 18, 2013 Just without /d p:0:11, the /t and other stuff keep Quote
ricktendo Posted October 18, 2013 Posted October 18, 2013 I forgot to say but the reason I suggest this, but it is because /d uses colons ":" and CMD/BAT files use these to mark sections where you can jump to goto section2:section1cmd /bla:section2cmd /bla /blaThis may be why it works when you paste it in the cmd but not with your script Quote
Mr_Smartepants Posted October 18, 2013 Posted October 18, 2013 shutdown /r /t 90 /d p:0:11 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"The "/d p:0:11" parameter is not valid. Major:0, Minor:11 doesn't match anything in the below table. Just skip it.Microsoft Windows [Version 6.1.7601]Copyright © 2009 Microsoft Corporation. All rights reserved. C:\Users\Blah>shutdown /?Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]] No args Display help. This is the same as typing /?. /? Display help. This is the same as not typing any options. /i Display the graphical user interface (GUI). This must be the first option. /l Log off. This cannot be used with /m or /d options. /s Shutdown the computer. /r Shutdown and restart the computer. /g Shutdown and restart the computer. After the system is rebooted, restart any registered applications. /a Abort a system shutdown. This can only be used during the time-out period. /p Turn off the local computer with no time-out or warning. Can be used with /d and /f options. /h Hibernate the local computer. Can be used with the /f option. /e Document the reason for an unexpected shutdown of a computer. /m \\computer Specify the target computer. /t xxx Set the time-out period before shutdown to xxx seconds. The valid range is 0-315360000 (10 years), with a default of 30. If the timeout period is greater than 0, the /f parameter is implied. /c "comment" Comment on the reason for the restart or shutdown. Maximum of 512 characters allowed. /f Force running applications to close without forewarning users. The /f parameter is implied when a value greater than 0 is specified for the /t parameter. /d [p|u:]xx:yy Provide the reason for the restart or shutdown. p indicates that the restart or shutdown is planned. u indicates that the reason is user defined. If neither p nor u is specified the restart or shutdown is unplanned. xx is the major reason number (positive integer less than 256). yy is the minor reason number (positive integer less than 65536). Reasons on this computer:(E = Expected U = Unexpected P = planned, C = customer defined)Type Major Minor Title U 0 0 Other (Unplanned)E 0 0 Other (Unplanned)E P 0 0 Other (Planned) U 0 5 Other Failure: System UnresponsiveE 1 1 Hardware: Maintenance (Unplanned)E P 1 1 Hardware: Maintenance (Planned)E 1 2 Hardware: Installation (Unplanned)E P 1 2 Hardware: Installation (Planned)E 2 2 Operating System: Recovery (Planned)E P 2 2 Operating System: Recovery (Planned) P 2 3 Operating System: Upgrade (Planned)E 2 4 Operating System: Reconfiguration (Unplanned)E P 2 4 Operating System: Reconfiguration (Planned) P 2 16 Operating System: Service pack (Planned) 2 17 Operating System: Hot fix (Unplanned) P 2 17 Operating System: Hot fix (Planned) 2 18 Operating System: Security fix (Unplanned) P 2 18 Operating System: Security fix (Planned)E 4 1 Application: Maintenance (Unplanned)E P 4 1 Application: Maintenance (Planned)E P 4 2 Application: Installation (Planned)E 4 5 Application: UnresponsiveE 4 6 Application: Unstable U 5 15 System Failure: Stop error U 5 19 Security issueE 5 19 Security issueE P 5 19 Security issueE 5 20 Loss of network connectivity (Unplanned) U 6 11 Power Failure: Cord Unplugged U 6 12 Power Failure: Environment P 7 0 Legacy API shutdownTry this instead:shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Quote
compstuff Posted October 18, 2013 Author Posted October 18, 2013 (edited) Trying it right nowEDIT: Just completed and removing the /d items didn't work eitherI forgot to say but the reason I suggest this, but it is because /d uses colons ":" and CMD/BAT files use these to mark sections where you can jump to goto section2:section1cmd /bla:section2cmd /bla /blaThis may be why it works when you paste it in the cmd but not with your script Edited October 18, 2013 by compstuff Quote
compstuff Posted October 18, 2013 Author Posted October 18, 2013 (edited) That's exactly the string I tried in my last test and that also failed... I had added all the T commands so I could have time to see what was happening but it didn't help. Now I am commenting out 1 by 1 some of the other items in the bat to see if something else is causing this. Thanks for the help PS- I have been working on this so long that I can't remember where I got the p:0:11 from... probably a thread I read somewhere but thanks for the clarification. shutdown /r /t 90 /d p:0:11 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"The "/d p:0:11" parameter is not valid. Major:0, Minor:11 doesn't match anything in the below table. Just skip it.Microsoft Windows [Version 6.1.7601]Copyright © 2009 Microsoft Corporation. All rights reserved. C:\Users\Blah>shutdown /?Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]] No args Display help. This is the same as typing /?. /? Display help. This is the same as not typing any options. /i Display the graphical user interface (GUI). This must be the first option. /l Log off. This cannot be used with /m or /d options. /s Shutdown the computer. /r Shutdown and restart the computer. /g Shutdown and restart the computer. After the system is rebooted, restart any registered applications. /a Abort a system shutdown. This can only be used during the time-out period. /p Turn off the local computer with no time-out or warning. Can be used with /d and /f options. /h Hibernate the local computer. Can be used with the /f option. /e Document the reason for an unexpected shutdown of a computer. /m \\computer Specify the target computer. /t xxx Set the time-out period before shutdown to xxx seconds. The valid range is 0-315360000 (10 years), with a default of 30. If the timeout period is greater than 0, the /f parameter is implied. /c "comment" Comment on the reason for the restart or shutdown. Maximum of 512 characters allowed. /f Force running applications to close without forewarning users. The /f parameter is implied when a value greater than 0 is specified for the /t parameter. /d [p|u:]xx:yy Provide the reason for the restart or shutdown. p indicates that the restart or shutdown is planned. u indicates that the reason is user defined. If neither p nor u is specified the restart or shutdown is unplanned. xx is the major reason number (positive integer less than 256). yy is the minor reason number (positive integer less than 65536). Reasons on this computer:(E = Expected U = Unexpected P = planned, C = customer defined)Type Major Minor Title U 0 0 Other (Unplanned)E 0 0 Other (Unplanned)E P 0 0 Other (Planned) U 0 5 Other Failure: System UnresponsiveE 1 1 Hardware: Maintenance (Unplanned)E P 1 1 Hardware: Maintenance (Planned)E 1 2 Hardware: Installation (Unplanned)E P 1 2 Hardware: Installation (Planned)E 2 2 Operating System: Recovery (Planned)E P 2 2 Operating System: Recovery (Planned) P 2 3 Operating System: Upgrade (Planned)E 2 4 Operating System: Reconfiguration (Unplanned)E P 2 4 Operating System: Reconfiguration (Planned) P 2 16 Operating System: Service pack (Planned) 2 17 Operating System: Hot fix (Unplanned) P 2 17 Operating System: Hot fix (Planned) 2 18 Operating System: Security fix (Unplanned) P 2 18 Operating System: Security fix (Planned)E 4 1 Application: Maintenance (Unplanned)E P 4 1 Application: Maintenance (Planned)E P 4 2 Application: Installation (Planned)E 4 5 Application: UnresponsiveE 4 6 Application: Unstable U 5 15 System Failure: Stop error U 5 19 Security issueE 5 19 Security issueE P 5 19 Security issueE 5 20 Loss of network connectivity (Unplanned) U 6 11 Power Failure: Cord Unplugged U 6 12 Power Failure: Environment P 7 0 Legacy API shutdownTry this instead:shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Edited October 18, 2013 by compstuff Quote
Mr_Smartepants Posted October 19, 2013 Posted October 19, 2013 The "planned/unplanned" reasons were there only for server OS since they will halt the shutdown/restart to ask for a reason. Consumer OS types don't ask.More info: http://technet.microsoft.com/en-us/library/cc732503.aspx I remember having a problem with shutdown before.This will open a new command window and run the 'shutdown' line from there. It'll also allow the first window to close gracefully while the shutdown is in progress.Try this instead:start "" /min /separate %comspec% /c shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Quote
compstuff Posted October 20, 2013 Author Posted October 20, 2013 Thanks I will try that today... very much appreciate the advice The "planned/unplanned" reasons were there only for server OS since they will halt the shutdown/restart to ask for a reason. Consumer OS types don't ask.More info: http://technet.microsoft.com/en-us/library/cc732503.aspx I remember having a problem with shutdown before.This will open a new command window and run the 'shutdown' line from there. It'll also allow the first window to close gracefully while the shutdown is in progress.Try this instead:start "" /min /separate %comspec% /c shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Quote
compstuff Posted October 22, 2013 Author Posted October 22, 2013 I ran an initial test and the same 1 minute message happened.. I will run a new test today to make sure I didn't make a mistake Thanks I will try that today... very much appreciate the advice The "planned/unplanned" reasons were there only for server OS since they will halt the shutdown/restart to ask for a reason. Consumer OS types don't ask.More info: http://technet.microsoft.com/en-us/library/cc732503.aspx I remember having a problem with shutdown before.This will open a new command window and run the 'shutdown' line from there. It'll also allow the first window to close gracefully while the shutdown is in progress.Try this instead:start "" /min /separate %comspec% /c shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Quote
compstuff Posted October 22, 2013 Author Posted October 22, 2013 Well I ran it again and sure enough it gives the same 1 minute message I ran an initial test and the same 1 minute message happened.. I will run a new test today to make sure I didn't make a mistake Thanks I will try that today... very much appreciate the advice The "planned/unplanned" reasons were there only for server OS since they will halt the shutdown/restart to ask for a reason. Consumer OS types don't ask.More info: http://technet.microsoft.com/en-us/library/cc732503.aspx I remember having a problem with shutdown before.This will open a new command window and run the 'shutdown' line from there. It'll also allow the first window to close gracefully while the shutdown is in progress.Try this instead:start "" /min /separate %comspec% /c shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" Quote
crashfly Posted October 23, 2013 Posted October 23, 2013 I am not a genius on the steps you are trying to accomplish, however can you tell when your batch file is running? By that, I mean at what stage of your install. It may be that the standard "shutdown" message occurs because your batch file is an "admin" mode while the rest of the desktop is in a "user" mode. When an admin logs into someones computer remotely to shut it down, that screen usually pops up. So maybe this is an odd mode interaction. Quote
Mr_Smartepants Posted October 23, 2013 Posted October 23, 2013 To test it, I logged in as a normal user and opened a cmd window as admin and pasted the following. start "" /min /separate %comspec% /c shutdown /r /t 90 /c "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy"As expected I got the warning message "Finished Phase1..." and the system rebooted on its own 90 seconds later. Can you get a screenshot of the message? (pause VM, screenshot). Quote
compstuff Posted October 23, 2013 Author Posted October 23, 2013 @CrashflyI actually think it has something to do with the timing of when this is run because I run the same basic cmd 6 additional times later in my install process and it runs fine. I will define my process later when I return from work. @Mr_SmartepantsThat's whats confuses me about this, I can run or call that same exact string, after an install is complete, and it always runs fine. I even use the same basic string throughout other steps in the install and they run fine. I am sure their is a logical reason for this but I simply can't figure it out... I will define this all better after work which may help shed some light. Since I am getting close to giving up on this and finding an alternative, I ran a test last night by adding poweroff http://users.telenet.be/jbosman/poweroff/poweroff.htm to my system32 folder via my $OEM$ folder and running the following string in my finish cmd: echo run 3rd reboot shutdown commandtimeout /T 10start poweroff.exe reboot -warn -warntime 90 -msg "Finished Phase 1, base install, the system will reboot in 90 seconds and start Phase 2 - RunOnce WU_Satisfy" That did work but I am still testing Quote
compstuff Posted October 25, 2013 Author Posted October 25, 2013 (edited) Sorry for the delay work has been overwhelming... anyway here is the explanation of what I do in my integration: Overview:Basically what I do is use simple scripts and reg files to add multiple reboots and processes via RunOnce. The way I do it is by running a script that runs a process, then adds and RunOnce entry for the next process and ends the current running script by rebooting the system. So in other words my process looks like this: Use the finish command, which I have been having the problem with, to start the entire process and from (Section 8) add a RunOnce that after reboot calls a version of McRip's script to add WU_Satisfy hotfixes and then add the next RunOnce and then reboot. Upon the reboot a modified KUC script is run that only deletes the old IE8 items as defined by KUC, it then adds the next RunOnce and does a reboot.Upon the reboot a modified KUC script is run to remove the OLD items as defined by that months KUC testing, it then adds the next RunOnce and does a rebootUpon the reboot I run the same as the previous step removing items that needed a second pass, it then adds the next RunOnce and does a rebootUpon the reboot I run a modified KUC script to update the image as defined by that months KUC testing, it then adds the next RunOnce and does a rebootUpon the reboot I run a Office install with a transform and reboot.This completes my install 1) WU_Satisfy 3rd reboot Phase 22) Remove_OLD-IE 4th reboot Phase 33) Remove_OLD 5th reboot Phase 44) Remove_OLD_Pass2 6th reboot Phase 55) RunOnce_WU_Update 7th reboot Phase 66) office_install 8th reboot Phase 7 Questions, advice, assistance,,, I am open to it all and I hope this helps better understand the process and possibly the resolution to this. The problem only happens in the first shutdown of the finish.cmd... the other calls all work fine and so far the poweroff solution I have tried twice and it seems to work Edited October 25, 2013 by compstuff Quote
ricktendo Posted October 25, 2013 Posted October 25, 2013 Why not integrate, then all you need to do is remove old and office Quote
compstuff Posted October 25, 2013 Author Posted October 25, 2013 (edited) That a very valid question... I always do an integration using WinToolKit and McRip's latest repo and I do the additional items as well based on need. Yet I have never ever been able to run the KUC after and have them agree, I always come up with lots of removes and updates. So based on that I attempt to create a know working image based on a period of time when everything seems to coincide including Windows Update. The integration I am working on now will actually be a slightly modified update that is from just before the last MS Tuesday release. Currently it all works with just a few exceptions. I will use that image for about 2 months and the create a new updated image in the same manner (I am already working on the new one) I can also do some simple updates to that image as we deploy it eg. frequently Java, flash, runtimes all update or your DOTNET, so I just add the new files to the iso WinToolkit_Apps folder and that makes a very easy update to the image. In concept its like minor and major updates to my images. Do you have suggestion from streamlining my process?Why not integrate, then all you need to do is remove old and office Edited October 25, 2013 by compstuff Quote
ricktendo Posted October 25, 2013 Posted October 25, 2013 Then use KUC to scan your mounted image, this will give you the updates you need and it will skip any updates that are not able to be integrated offline, you can even pick which components you want to update (its much smarter) Just run with /DVD-Image-dir:X:\path for mounted WIM or /VHD-drive:X:\path for mounted VHD After, you can use the same CMD's created to integrate or remove OLD (IE8 removal can only be done offline, KUC knows this and will tell you in your packages out) Quote
compstuff Posted October 25, 2013 Author Posted October 25, 2013 Trying to absorb what you described since its new to me... so if I understand your general idea... do my normal integration leaving out some of my RunOnce scripting and run the KUC to update the image. Then run the cleanup scripts and I get the same end result. Is that correct?Then use KUC to scan your mounted image, this will give you the updates you need and it will skip any updates that are not able to be integrated offline, you can even pick which components you want to update (its much smarter)Just run with /DVD-Image-dir:X:\path for mounted WIM or /VHD-drive:X:\path for mounted VHDAfter, you can use the same CMD's created to integrate or remove OLD (IE8 removal can only be done offline, KUC knows this and will tell you in your packages out) Quote
ricktendo Posted October 25, 2013 Posted October 25, 2013 - Mount your wim image with dism- Run KUC with params (listed above changing X:\path) poining to your mounted folder- Use it the same way you use it to scan a online install- Let KUC create packages.txt, scan it, download and create the necesary scripts- Use cmd scripts to copy, remove and/or add updates into the mounted image (/online will change to /image:<your_path> so when you execute them, the updates will be integrated vs installed on your current pc)Its the same as scanning your current image, only its scanning the mounted wim/vhd, more info in the FAQ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.