Redémarrez les machines Windows à une certaine heure de la journée et connectez-vous automatiquement avec Python

StackOverflow https://stackoverflow.com/questions/3066438

  •  28-09-2019
  •  | 
  •  

Question

Je sais comment redémarrer des machines à distance, c'est donc la partie la plus simple.Cependant, la complexité du problème consiste à essayer de configurer ce qui suit.J'aimerais contrôler les machines sur un réseau pour une utilisation en dehors des heures d'ouverture, de sorte que lorsque les utilisateurs se déconnectent et rentrent chez eux, ou éteignent leur ordinateur, peu importe, python ou une combinaison de python + Windows puisse redémarrer leurs machines (pour des raisons de propreté) et se connecter automatiquement. , exécutez un processus pour la nuit, puis le matin, arrêtez ledit processus et redémarrez la machine afin que l'utilisateur puisse facilement se connecter comme d'habitude.

J'ai regardé autour de moi, je n'ai pas eu beaucoup de chance, même s'il semble que l'on pourrait le faire en modifiant le registre.Cela semble cependant être une idée approximative, modifier le registre quotidiennement.Existe-t-il un moyen plus simple ?

Était-ce utile?

La solution

Je ne vois aucun moyen de faire strictement ce que vous voulez, autre que le registre, du moins pas sans des mesures encore plus drastiques.Mais effectuer cette modification du registre n’est pas un gros problème ;changez simplement le nom d'utilisateur/mot de passe de connexion automatique et redémarrez l'ordinateur.Pour que l'ordinateur redémarre lorsque l'utilisateur se déconnecte, donnez-lui une option de « déconnexion » qui redémarre réellement plutôt que de se déconnecter ;J'ai vu d'autres endroits faire ça.

(modifier) ​​Pour information :pour les modifications du registre, Windows dispose d'une commande REG qui sera utile si vous décidez de suivre cette voie. (/edit)

De plus, quel type de processus essayez-vous d’exécuter ?Si ce n'est pas une application GUI qui nécessite votre interaction, vous n'avez pas à vous donner de grandes difficultés ;exécutez simplement l'application à distance.Dans mon travail, nous utilisons psexec pour le faire très simplement, et j'ai également créé des programmes C++ qui exécutent du code à distance.Ce n'est pas si difficile, la façon dont je le fais est de demander à C++ d'appeler la fonction WinAPI pour enregistrer à distance un service sur le PC distant et le démarrer, le service fait alors ce que je veux (lui-même, ou comme point de départ pour lancer d'autres choses ), puis se désenregistre.Je n'ai utilisé Python que pour des pages Web simples, donc je ne suis pas sûr du type de support dont il dispose pour accéder aux DLL requises, mais s'il peut le faire, vous pouvez toujours utiliser Python ici.

Ou mieux encore, si vous n'avez pas besoin de le faire à distance mais que vous souhaitez simplement le faire tous les soirs, vous pouvez simplement utiliser le planificateur Windows pour exécuter l'application que vous souhaitez exécuter pendant la nuit.Vous pouvez même le faire par programme car il existe quelques commandes Windows pour cela :l'une est la commande "at", et je ne me souviens pas pour l'instant de ce qu'est l'autre, mais juste une petite recherche sur Google devrait la trouver pour vous.

Autres conseils

Vous voulez probablement envisager d'exécuter tout programme que vous envisagez comme service Windows , à moins que vous avez besoin d'un ordinateur de bureau absolu. Il y a quelques questions au sujet que, par exemple et ici , ainsi que des recettes sur active State. Cela implique pas vraiment besoin de démarrer ou connexion à l'ordinateur.

Il y a aussi toujours l'option des tâches planifiées et que non. Cela peut effectivement être fait par Python programme, par exemple, comme dans ce billet de blog .

En ce qui concerne la mise sous tension des ordinateurs hors tension, alors que j'ai jamais rien fait avec elle, je sais prend en charge Windows Wake-on-LAN la fonctionnalité, et il semble y avoir quelques noreferrer bonnes ressources , y compris, encore une fois, un

Merci pour les réponses. Pour être plus clair sur ce que je fais, j'ai un programme qui démarre automatiquement au démarrage, ainsi obtenir connecté serait préférable. Je suis un gestionnaire de codage pour un rendu ferme pour le travail qui prendra toutes les machines que nos gars utilisent pendant la journée et les transformer en serveurs de rendu la nuit (ou chaque fois qu'ils ouvrent une session disponibilité pendant une période de temps, par exemple).

Je ne suis pas sûr si je requiers nécessairement une application GUI, mais l'ordinateur devrait redémarrer et vous connecter pour lancer une application de serveur qui fait le rendu, et je ne suis pas certain si cela peut être fait sans vous connecter. ce que j'ai besoin à exécuter est Backburner Server.exe d'Autodesk

Peut-être que peut être exécuté sans avoir besoin d'être connecté spécifiquement, mais je ne suis pas familier avec faire des choses de cette nature.

scroll top