La machine est verrouillée pendant le script d'automatisation, ceci est dû au fait qu'il existe un long intervalle entre différents scripts (ceci est requis pour certaines raisons). Je veux éviter cette fonction de verrouillage automatique. Le problème est que, selon les stratégies de sécurité, nous ne pouvons pas désactiver cette fonctionnalité à partir du panneau de configuration. Y a-t-il une autre façon de garder le système déverrouillé? P>
11 Réponses :
Je penserais que vous pouvez arrêter le verrouillage en envoyant une touche de frappe à intervalles réguliers, je suggère donc de regarder wscript.sendkeys . Ensuite, mettez-la dans une boucle avec un sommeil pour le faire envoyer régulièrement. P>
Soyez juste prudent de quelle clé vous envoyez pour que vous n'affectez rien d'autre. P>
Merci .. Y a-t-il une autre solution autre que SendKeys? Comme vous l'avez dit, c'est risqué, car une application sera en état d'envoi, si une clé est enfoncée, il pourrait y avoir un problème d'entrée de données.
@Srivigneshwar: Vous pouvez essayer de simuler le mouvement de la souris. Mais je ne suis pas sûr s'il y a un moyen de le faire de VBScript afin que vous puissiez avoir à écrire ce code dans une autre langue, puis à l'appeler à partir du script. Ou vous pouvez essayer d'envoyer des clés qui ne font pas beaucoup, comme le verrouillage défilement code> ou similaire. Dans l'ensemble, vous devrez peut-être essayer diverses choses jusqu'à ce que vous trouviez ce qui vous aide.
S'il s'agit d'exécution de votre Suite Automation, utilisez votre suite d'automatisation pour faire un truc de souris de temps en temps. Ce que je trouve bien fonctionne bien, c'est si vous avez votre propre fonction de sommeil personnalisée et dans le cadre de votre fonction de sommeil, vous devez la souris. Utilisez ceci pour votre long intervalle entre les scripts. P>
Je l'ai fait ... il envoie 2 clés de défilement, rapidement, il n'y a donc pas d'interférer (bien, pas tout ce qui est de toute façon grave) avec toutes les applications. Cela fait cela toutes les 60 secondes .... Bravo!
Meilleure solution sur tous testés. L'utilisation d'un certain temps pour éviter une économiseur d'écran appliquée - pas besoin de modifier le réglage / le registre, il n'est pas nécessaire d'installer quelque chose, simplement en utilisant simplement une fonctionnalité de système d'exploitation indigène.
Fonctionne bien. Une fois exécuté, comment puis-je l'arrêter?
cela fonctionnera-t-il dans Virtual Desktop? J'ai essayé mais pas de chance.
Les ordinateurs de bureau virtuels ne sont qu'une couche d'interface utilisateur sur la coquille. Cela devrait fonctionner. Avez-vous voulu dire machine virtuelle? Si oui, le script doit fonctionner à l'intérieur de la machine virtuelle et non l'hôte.
Travailler toujours sur Windows 10, même lorsque la fonction de verrouillage est définie par admin. Merci mon pote.
Utilisez le code de script VB suivant pour garder votre machine déverrouillée: acclamations !! p> p> p>
J'ai essayé les scripts Shell et la planification de la simulation de mouvements de la souris avec le planificateur de tâches - mais voici ce que j'ai trouvé était le meilleur du lot.
+1 pour sa simplicité forte>. Il déplace automatiquement la souris sur un pixel décalé, de sorte que l'écran ne se verrouille pas automatiquement (bien que vous ayez des options pour la configurer, si le besoin est) p>
référence:
J'utilise une paire de fichiers ...
Le premier fichier (garder_awake__start.vbs) garde les choses éveillées / déverrouillées. Le deuxième fichier (Garder_awake__end.vbs) termine facilement le processus lorsque vous souhaitez revenir à un processus normal. P>
Le premier fichier ... p>
' Keep_Awake__end.vbs ' Graham Edwards ' Use Keep_Awake__start.vbs to keep the computer from inactivity-based lockouts. ' Use Keep_Awake__end.vbs to remove Keep_Awake__start.vbs ' Largely pulled from Ansgar Wiechers response ' http://stackoverflow.com/questions/22324899/kill-a-vbscript-from-another-vbscript ' --- Define Object Set wmi = GetObject("winmgmts://./root/cimv2") ' --- Search and Destroy qry = "SELECT * FROM Win32_Process WHERE Name='wscript.exe' AND NOT " & _ "CommandLine LIKE '%" & Replace(WScript.ScriptFullName, "\", "\\") & "%'" For Each p In wmi.ExecQuery(qry) p.Terminate Next ' --- Clean up Set wmi = Nothing ' Release the Application object
@Graham_edwards Les deux scripts exécutent bien pour le démarrage et la fin, mais je ne vois pas l'éclairage de verrouillage du défilement et s'éclairez toutes les 2 minutes lorsque le script de démarrage est en cours d'exécution, est ce comportement attendu?
Oui, je crois que c'est le comportement attendu. Si vous voulez le voir flash (pour dire, une demi-seconde), remplacez: wsc.sendkeys ("{Scrolllock 2}") avec wsc.sendkeys ("{ScrollLock}") wscript.sleep (500) wsc.sendkeys ("{VERROUILLAGE DU DÉFILEMENT}")
La solution la plus simple qui fonctionne consiste à ouvrir un fichier MP3 ou vidéo et de la lire en continu dans Windows Media Player (utilisez la fonction de répétition et sourdez le volume dans le lecteur). De cette manière, l'économiseur d'écran ne vient jamais ou le système ne se verrouille jamais. p>
Cela ne fonctionne pas dans ma machine, mais pas sûr de la cause
Set wshShell =wscript.CreateObject("WScript.Shell") do wscript.sleep 55000 wshshell.sendkeys "{SCROLLLOCK}" loop We can use this code to prevent window to unlock again.
Je l'ai fait de cette façon
(boucle extérieure = variable déclarée) p> (procédure interne) p> (boucle intérieure): p> SO - fondamentalement, ce code déplace la souris 1 PX de gauche et 1 px Dakowdown lor chaque intervalle de boucle. Vous pouvez déclarer toutes les autres valeurs mais j'ai constaté que cette souris bouge ne dérange pas les utilisateurs. p> p>
Si quelqu'un a besoin des déclarations avec des conditions
J'ai fait un script très simple et facile à utiliser (.bat) qui désactivé Autolock en exécutant le script dans une fenêtre Console (CMD). Si vous souhaitez arrêter le script, l'utilisateur doit simplement fermer la fenêtre de la console.
#disable_autolock_stackoverflow_mr_v