Imprivata OneSign: How to let the patient sleep by turning off the monitor on a lock tab!
A while ago I got asked by a customer how they can auto turn off the monitor when they move away from the workstation. These workstations are located on an Intensive Care unit so when they need to access these machines at night, they want the monitors "on time" limited to a minimum to not wake up the patient too much.
Manually turning off these monitors with the power button? (Smile and wave. No, we can do better!)
Power settings and the monitor standby timers? Nope too long.
Well came up with a relatively simple solution. The login to the workstation is handled by Imprivata OneSign and are type "2" agents.
So, when someone taps their badge to lock the endpoint (these are well behaving users, if you don't have these kinds of users have a look at the secure walk away) kick of an extension/procedure code to switch the monitor in "standby" on the "lock" event. (Not the machine just the monitor, a keypress, mouse movement or even a tab on the reader is enough to wake up the monitor)
How to do this?
Step 1, Create Extension:
Open the Imprivata Admin Console and open Extensions
Hit the View/Edit Button next to Procedure Code
Tab the ADD button
Enter the following fields:
Procedure name: a name you fancy
Execute Code: When Desktop Locked
Specify the Procedure Code:
cmd /c %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe (Add-Type '[DllImport(\"user32.dll\")]public static extern int PostMessage(int h,int m,int w,int l);' -Name a -Pas)::PostMessage(-1,0x0112,0xF170,2)
In the end you will get something like this:
Select Executed from a command line:
Now you will get a warning you need to enable this in a computer policy to work:
Step 2, enable in the Computer Policy:
Head over to Computers & Computer Policies
Edit the computer policy, in this example I'm editing the "Default Computer Policy" (lab..) In production I really suggest Copying or create a new one and assign and test properly. Out of scope for now.
open Tab "extensions":
If you didn't used procedure codes before select: "Enable Procedure Code Extension Object":
Find the OneSign Procedure Code and click on "Enable" and hit save. Thats it!
I even can imagine this to enable this on all the workstations to save some power. Hot topic these days.
If you want to save more power you can also run the follow procedure code to put the entire machine to sleep, won't be making a lot of friends tough:
cmd /c rundll32.exe powrprof.dll, SetSuspendState Sleep
Well, not the hardest one but perhaps someone else has a use for it!
Any questions, remarks? Please, don't hesitate to leave a comment or contact me.