Na verdade, eu implementei isso de maneira semelhante ao The3rdIcon. Use sua resposta para obter a estrutura, e eu posso fornecer detalhes. Observe que o programa de desbloqueio que ele vincula não funciona no Windows 7 ou superior, mas esse truque funcionará. Para o meu caso em particular, usei um dispositivo bluetooth conectado à minha estação de trabalho para detecção de proximidade, mas você pode fazer o que for aplicável. Aqui estão os detalhes reais.
Como os PCs com os quais estou trabalhando estão protegidos por um firewall, estou usando o redirecionamento de extensão Chrome do AutoRemote, que funciona muito bem.
Tasker Bluetooth Próximo perfil
Notas: Ignore o bit% WorkHint, é para outra coisa. Este perfil exige que você esteja emparelhado com o dispositivo, mas não conectado. Ele não responde muito bem (por razões de economia de bateria), mas será detectado próximo / distante em alguns minutos. Além disso, uso alguns outros perfis que podem acionar um desbloqueio para que ele seja mais responsivo, mas isso deve ajudá-lo a começar. Meu exemplo envia para um canal AutoRemote (Trabalho) para que ele possa bloquear / desbloquear 2 computadores para mim.
Profile: BT Work Near (166)
State: BT Near [ Name:yourbluetoothdevice Address:* Major Device Class:Audio / Video Standard Devices:On Low-Energy (LE) Devices:Off Unpaired Devices:Off Toggle BlueTooth:Off ]
Enter: Anon (167)
A1: Variable Set [ Name:%WorkHint To:true Do Maths:Off Append:Off ]
A2: AutoRemote Message [ Configuration:Recipient: Group
Message: Unlock
Channel: Work Package:com.joaomgcd.autoremote Name:AutoRemote Message Timeout (Seconds):200 ]
Exit: Anon (168)
A1: Variable Clear [ Name:%WorkHint Pattern Matching:Off ]
A2: AutoRemote Message [ Configuration:Recipient: Group
Message: Lock
Channel: Work Package:com.joaomgcd.autoremote Name:AutoRemote Message Timeout (Seconds):200 ]
Macro de bloqueio EventGhost
Notas: Eles usam um pequeno truque para realizar o bloqueio / desbloqueio. Ele basicamente se desconecta da sessão do console e depois se reconecta a ela para o desbloqueio. Ele ainda exibe a tela CTRL-ALT-DEL e alguém que pretenda usar o PC realmente precisa fazer login. Observe que o truque de reconexão não funcionará se você usar a ação da estação de trabalho de bloqueio EventGhost ou um bloqueio WIN-L real.
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1700">
<Macro Name="Lock Workstation" id="6" Expanded="True">
<Event Name="AutoRemote.Message.Lock" />
<Action>
System.Execute(u'c:\\windows\\system32\\tsdiscon.exe', u'', 0, False, 2, u'', False, True, u'', False, False, False)
</Action>
</Macro>
</EventGhost>
Macro de desbloqueio do EventGhost
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1700">
<Macro Name="Unlock Workstation" id="9" Enabled="False" Expanded="True">
<Event Name="AutoRemote.Message.Unlock" />
<Action>
System.Execute(u'C:\\Windows\\System32\\tscon.exe', u'1 /dest:console /password:yourpassword', 0, False, 2, u'', False, True, u'', False, True, False)
</Action>
</Macro>
</EventGhost>
Uso algumas outras macros para enviar uma notificação ao meu telefone quando os PCs são bloqueados ou desbloqueados, automática ou manualmente. Também posso publicá-las se houver interesse.