This is a great example of how you can combine a little bit of this and a little bit of that and create something that at least I haven’t seen yet.
A combination that serves both the end user as well as the SCCM-guy/gal that’s afraid that the user will do something to screw up the sequence since it’s running in Full OS.
Feeding the user with info of what that is going on instead of a “My computer has restarted 3 times now, I typed my password, I saw my desktop and then my monitor became black and the computer restarted”-Call and at the same time calming that SCCM-person (that SCCM-person being me) that the bios-update won’t break 5% of the computers, is simply a Win/Win-situation.
This “solution” is a collaboration of a lot different things so I won’t take the credit for putting them all together. The improvements, the customizations and changes however, those you can blame me for ;P
If you attend to use the original custom splash screen during the sequence please download it to another folder than the standard one. Else there might be some dlls that’s in use when the TS-agent tries to delete the _SMSTaskSequence-folder.
Changes:
1. Block keyboard/mouse input. Bypass: CTRL+ALT+DEL and without pressing any other key in between, hold down rightshift and right click to close the dialog.
2. Prevent monitor from going a sleep while running. (Since I was using this during a bios/tpm update sequence the last thing I wanted was for the users to hold down the powerbutton due to the screen being black nomather what they did)
3. The UI is only shown after a reboot and is running as system. It is possible to show the UI even for and if a user is logged on but I can’t seem to block the input if running in a user context. And letting a user play around with a process running as local system is never good.
4. The task deletes itself if “TSManager” isn’t running. And the UI closes itself if it can’t find that process.
I havn't tried it during a IPU task and there might be parts where TSManager isn't running. That's why I've put the scheduled task name in a variable. So you can disable it in an easy matter if you need to and prevent it from deleting itself when not supposed to.
Will fix the part for when a user is logged on but for now here it is in action.
https://github.com/MattiasC85/UserInfoUI
Comentarios