none
Tache planifiée de verrouillage session RRS feed

  • Discussion générale

  • Bonjour,

    J'essaye d'écrire une ligne de commande pour windows 7 qui ajouterait une tâche planifiée pour forcer la fermeture de la session des utilisateurs au bout de 55mn. J'en suis à cette ligne ci-dessous mais le shutdown ne se lance jamais :

    schtasks /create /sc ONIDLE /i 55 /tr "shutdown /f -l" /tn "Verrouillage session 55mn" /s "localhost"  /ru "SYSTEM"

    PS : les postes sont en workgroup seulement



    mercredi 6 avril 2016 09:37

Toutes les réponses

  • Bonjour,

    Utilisation : shutdown [-i | -l | -s | -r | -a] [-f] [-m \\nom_ordinateur] [-t xx] [-c "commentaire"] [-d up: xx:yy]

    Sansargument Affiche ce message (identique à -?)
    -i Affiche l'interface graphique, doit être la 1ère option
    -l Ferme la session (ne peut pas être utilisé avecl'option -m)
    -s Met l'ordinateur hors tension
    -r Met l'ordinateur hors tension et le redémarre
    -a Annule une mise hors tension système
    -m\\nom_ordinateur Ordinateur distant à mettrehors tension/redémarrer/annuler
    -txx Définir le délai d'expiration pour la mise hors tension à xx secondes
    -c"commentaire" Commentaire de la mise hors tension (maximum de 127 caractères)
    -f Force des applications en cours d'exécution à se fermer sansavertissement
    -d[u][p]: xx:yy Le code deraison de la mise hors tension
    u est le code utilisateur
    p est un code de mise hors tension planifié
    xx est le code de raison majeur (valeur entière inférieure à 256)
    yy est le code de raison mineur (valeur entièrepositive inférieure à65536)

    Cordialement

    mercredi 6 avril 2016 10:21
  • Merci mais j'ai  essayé avec "shutdown -l" ou même en lançant un autre programme comme le notepad, ça fonctionne quand j’exécute la tache manuellement, mais pas après une inactivité de l'utilisateur...
    mercredi 6 avril 2016 15:01
  • Quand ont utilise les tâche planifiées, il faut aussi penser au contexte dans laquelle elle s'exécute.

    Ici, dans ton cas, c'est SYSTEM qui lance la tâche, donc, la tâche essayera de fermer la session de SYSTEM, pas la session de l'utilisateur en cours.

    Remplace "SYSTEM" par "%Username%"

    Ce sera probablement à répéter pour tous les utilisateurs des PC.

    Aussi, pour avoir plus facile, tu peux aussi créer la tâche manuellement, l'exporter en XML, et la réimporter avec SCHTASKS.

    Il faut simplement modifier le XML, le champ AUTHOR doit être comme ceci:

    <Author>%computername%\%username%</Author>

    B.


    mercredi 6 avril 2016 20:24
  • Bonsoir,

    As tu bien mis les droits les plus élévés sur la tâche ?

    Plus d'infos ici : https://msdn.microsoft.com/fr-fr/library/cc772785(v=ws.10).aspx

    Claude

    mercredi 6 avril 2016 20:27
  • Shutdown peut être utilisé sans les droits élevés.

    Les droits élevés n'étant pas requis, il n'est pas conseillés de les mettre.

    mercredi 6 avril 2016 20:55
  • Merci ! je vais tester avec %username%. Je préfère utiliser une ligne de commande car je souhaite créer cette tache sur plusieurs dizaines de PC. Pour contre j'aimerais créer cette tache pour les sessions "prof" et  "eleve" qui existent sur tous ces PC., le nom du PC n'est pas obligatoire ? Par exemple je pourrais envoyer les commandes suivantes ?

    schtasks /create /sc ONIDLE /i 55 /tr "shutdown /f -l" /tn "Verrouillage session prof 55mn" /s "localhost"  /RU prof /RP pass

    schtasks /create /sc ONIDLE /i 55 /tr "shutdown /f -l" /tn "Verrouillage session eleve 55mn" /s "localhost"  /RU eleve /RP pass

    jeudi 7 avril 2016 08:22
  • Bon je n'arrive à rien... Je teste avec 1 minute de délai mais les tâches ne se lancent jamais. Même en la créant manuellement ça ne passe pas, j'ai du mal à saisir la différence et comment utiliser le déclencheur "Après une période d'inactivité" et la condition "Démarrer si l’ordinateur est inactif pendant :" ?

    Qu'est-ce qui ne va pas par exemple dans cette tâche ? :

    837117

    837119

    837

    987

    128
    • Modifié Gaelds jeudi 7 avril 2016 09:48
    jeudi 7 avril 2016 09:46
  • Attention à l'utilisation des noms utilisateurs. Il faudra une ligne de commande par utilisateur.
    Néanmoins, cela aura l'avantage de pouvoir être fait par l'admin, sans devoir ouvrir a session de l'utilisateur.

    Pour l'utilisation du XML, je disais cela car avec la ligne de commande, la case à cocher n'est pas active pour le délai de 55 minutes. (en tout cas chez moi, j'ai pas cherché plus loin, vérifies)

    Et pour éviter de devoir faire cela par utilisateur, je placerai un script dans le démarrage de tout le monde, dans le dossier:

    %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp

    Seulement, avec cette méthode, il faut soit forcer la création de la tâche avec /F
    Soit vérifier si elle existe déjà (le forçage est préférable et plus simple)

    La ligne de commande serait alors comme ceci

    schtasks /create /sc ONIDLE /i 55 /tr "shutdown /f -l" /tn "Verrouillage session 55mn" /s "localhost"  /NP /F

    Avantage: Une seule action par PC.

    B.

    jeudi 7 avril 2016 09:53
  • Bonjour,

    Sans passer par une tache planifiée, avez vous creusé du coté des stratégies locales ? GPEDIT.msc

    Cordialement,

    Chris.

    vendredi 8 avril 2016 02:31
  • Bonjour,

    Sans passer par une tache planifiée, avez vous creusé du coté des stratégies locales ? GPEDIT.msc

    Cordialement,

    Chris.

    Disons que j'aimerais mieux éviter car ce sera plus long à faire sur chaque PC. Je souhaite faire exécuter la ligne de commande dans un paquet WAPT (serveur de déploiement de logiciels).

    vendredi 8 avril 2016 14:01
  • Attention à l'utilisation des noms utilisateurs. Il faudra une ligne de commande par utilisateur.
    Néanmoins, cela aura l'avantage de pouvoir être fait par l'admin, sans devoir ouvrir a session de l'utilisateur.

    Pour l'utilisation du XML, je disais cela car avec la ligne de commande, la case à cocher n'est pas active pour le délai de 55 minutes. (en tout cas chez moi, j'ai pas cherché plus loin, vérifies)

    Et pour éviter de devoir faire cela par utilisateur, je placerai un script dans le démarrage de tout le monde, dans le dossier:

    %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp

    Seulement, avec cette méthode, il faut soit forcer la création de la tâche avec /F
    Soit vérifier si elle existe déjà (le forçage est préférable et plus simple)

    La ligne de commande serait alors comme ceci

    schtasks /create /sc ONIDLE /i 55 /tr "shutdown /f -l" /tn "Verrouillage session 55mn" /s "localhost"  /NP /F

    Avantage: Une seule action par PC.

    B.


    Merci je vais tester cette commande, mais effectivement la case "Démarrer la tâche si l'ordinateur..." est décochée. Ça voudrait dire qu'il faut la cocher sur chaque PC ensuite ?
    vendredi 8 avril 2016 14:04
  • Désolé j'ai testé cette dernière commande en mettant 1mn au lieu de 55 mais ça ne fonctionne pas non plus. Et pas mieux en créant des taches manuellement, plus ça va moins je comprends :(
    vendredi 8 avril 2016 14:13