Lancer un script a une heure donné - Windows & Software
Marsh Posté le 22-10-2003 à 12:32:29
une commande at mais ca revient au meme que les taches planifiées...
Marsh Posté le 22-10-2003 à 13:17:51
Je pense que ton problème c'est que tu ne veux pas passer sur chaque machine régler une tâche planifiée ?
Côté serveur tu peux définir des heures de login pour tes comptes. Sinon en planifiant une tâche rien ne t'empêche de déconnecter les stations à distance. Va sur www.sysinternals.com et télécharge psshutdown.exe (pstools), cet utilitaire permet de faire un shutdown, un restart ou un logoff suivant les paramètres que tu lui passe y compris sur des machines distantes (il suffit de faire tourner la tâche avec un compte admin du domaine).
L'avantage de faire un logoff avant d'interdire à l'utilisateur le login c'est de lui laisser une période de grace pendant laquelle il a un message sur l'écran et peut enregistrer ses documents.
Tu remarqueras qu'il suffit d'un bête fichier batch avec le nom de tes machines, si tu veux plus de rafinement tu peux utilier Windows Scripting Host (WSH), on pourrait imaginer que tu vas piocher la liste des machines d'une OU directement dans AD avec ADSI et que tu chutdown les machines de cette OU.
Marsh Posté le 26-10-2003 à 20:49:44
Merci pour la réponse.
J'utilisiserais se script de fermeture de session pour etre sur qu'aucun programme n'est lancé a 3heure du mat lors de ma sauvegarde.
J'utilise NtBackup, donc y'a pas d'option open files comme sur arc serve (enfin, je crois. )
Je ne veux pas de WSH.
Mon script est déjà ok. Pas besoin de shutdown.exe ou autre truc.
Merci
Marsh Posté le 26-10-2003 à 20:56:04
dans les options des comptes utilisateurs, tu fixes des heures de connexion comme dit plus haut
tu dis par exemple de 2h à 5h du matin, personne peut se logger
ya une case à cocher pour que les sessions actives soient automatiquement fermées au passage à 2h (ou bien c sur tse ??)
Marsh Posté le 26-10-2003 à 21:00:06
le probleme, c'est que cette option interdit le log, mais ne délog pas....
Marsh Posté le 26-10-2003 à 21:08:49
Ouais j'ai lu. Mais je ne trouve pas l'option "ya une case à cocher pour que les sessions actives soient automatiquement fermées au passage à 2h"
Je peux donner des authorisation de log. C'est tout. L'utilisateur loggé n'est pas déconnecter si il sort des heures. Ou alors j'ai pas su faire. C'est possible aussi et fodra m'éclairer un peu plus.
Merc
Marsh Posté le 26-10-2003 à 21:11:31
l'ennui c que j'ai pas d'AD sous la main
mais si tu trouves pas l'option c ptet que j'ai confondu avec la console de terminal server
je verrai ça dans la semaine si je croise un AD
Marsh Posté le 26-10-2003 à 21:20:44
Effectivement avec TS, tu peux virer l'utilisateur apprès un temps de connexion ou d'inactivité.
Mais pas avec un log local.
Marsh Posté le 27-10-2003 à 16:46:01
helvetik a écrit : le probleme, c'est que cette option interdit le log, mais ne délog pas.... |
C'est bien pour celà que je te disais de prendre psshutdown qui permet de faire un logoff (ou delog si tu préfère)
Marsh Posté le 27-10-2003 à 16:53:35
Requin a écrit : |
Et via une GPO on peut faire executer un script a une heure precise, et pas juste lors du boot/arret logon/logoff ?
Marsh Posté le 27-10-2003 à 17:06:57
Tâche planifiée... tu peux ajouter une tâche avec un script par exemple :
http://www.microsoft.com/technet/t [...] efault.asp
En fait je comprens pas pourqoi il ne veut pas utiliser les tâches planifiées... car ca sert à celà, lancer qqch à une heure précise.
Marsh Posté le 27-10-2003 à 17:10:17
Requin a écrit : Tâche planifiée... tu peux ajouter une tâche avec un script par exemple : |
Ok merci, donc c'est en passant indirectement par une GPO, ca reste de la tache planifiée.
Marsh Posté le 28-10-2003 à 23:04:35
Requin a écrit : |
Ben c'est pasqu'il fo ke je m'ammuse a ajouter la tache sur chaque pc.
Le jour ou on ajoute un nouveau pc ou qu'on en réinstall un, tu peux etre sur que j'oublie de remettre la tache...
Alors qu'un script ou un GPO résoudrait ce problem.
Mais apparement, a par utilisé un soft dédié, y'a pas l'air d'avoir un moyen de le faire sous windows...
Domage.
Marsh Posté le 28-10-2003 à 23:08:06
A moins alors d'avoir un moyen de créer des tache planifié via script?? C'est possible?
Marsh Posté le 28-10-2003 à 23:13:57
helvetik a écrit : A moins alors d'avoir un moyen de créer des tache planifié via script?? C'est possible? |
C'est un peu ce que Requin a expliqué juste au dessus
Marsh Posté le 28-10-2003 à 23:17:58
attend que je relise
oups..
j'avais pas vu le lien...
On va mettre ca sur le compte de la fatigue.
Marsh Posté le 28-10-2003 à 23:20:04
bon, ben je teste demain, si j'ai le temps...
La je vais au pieu.
A+ et merci.
Marsh Posté le 11-11-2003 à 10:43:20
J'ai pas eu le temps de la tester avant aujour d'hui.
Voilà le code (avec 1 ou 2 modif de ma part) si ca interresse quelqu'un:
Code :
|
On remarque que la tâche est bien créé, mais qu'il n'y a pas d'utilisateur. Si quelqu'un sait comment en ajouter un, je suis preneur.
A+
Marsh Posté le 11-11-2003 à 11:00:42
A priori tu ne peux pas soumettre un utilisateur lors de la cération... la raison c'est que l'interface WMI fait appel à une ancienne API Windows (celle similaire à la commande AT) au lieu d'appeler la nouvelle (celle utilisée par exemple par le module graphique des tâches planifiées) :
Voici la doc qui concerne l'appel aux tâches planifiées via WMI :
http://msdn.microsoft.com/library/ [...] ledjob.asp
Marsh Posté le 17-05-2006 à 10:04:48
Bonjour,
Je me permet de upper ce topic parce que je suis dans la même situation que helvetik.
Malheureusement, du haut de mon faible niveau, je n'arrive pas à comprendre correctement comment faire fonctionner les scripts donnés dans les liens vers M$.
Quelqu'un pourrait m'aider ?
Merci d'avance,
Marsh Posté le 17-05-2006 à 11:39:14
je te conseille ce .doc (supportech.insa-lyon.fr/Download/WhitePapers/Divers/Script-connexion-conseils.doc) pour tout ce qui est lancement de scripts par GPO
sinon tu peux regarder du coté des solutions payantes (ou plutot leurs démos ^^) qui te permettent généralement de faire des scripts sans rien connaitre aux problèmes de gpo ou au scripting etc....
Marsh Posté le 17-05-2006 à 12:08:14
Merci pour le .doc, je viens de l'imprimer et le lire !
J'ai compris beaucoup de choses, c'est bien clair et même si ca ne correspond pas à ma situation ça m'a débloqué.
Je m'y met en rentrant à 14h, merci
Marsh Posté le 17-05-2006 à 14:37:08
Je m'en sors pas !
Je comprends pas bien, déjà. J'suis sûr que j'pourrais m'en sortir avec le script vu plus haut par helvetik, mais j'arrive pas à déchifrer !
J'aimerai un script qui éteint l'ordinateur (voir, un logoff) tous les jours à 21:00. Tout ça gérer depuis un domaine AD sous 2003 server.
Merci d'avance si quelqu'un peut m'aider
Marsh Posté le 20-05-2006 à 12:02:42
crée un fichier avec ça dedans :
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
Set objNewJob = objWMIService.Get("Win32_ScheduledJob" )
errJobCreated = objNewJob.Create ("c:\windows\system32\shutdown.exe -s", "********120000.000000-420", True , 1 OR 2 OR 4 OR 8 OR 16, , , JobID) '07:30 = 23:30. Le lundi c'est 1, le mardi 2, le mercredi 4, ..., le dimanche 64
'Wscript.Echo errJobCreated 'donne le numéro d'erreur ou de succès a la fin du script dans un msgbox lors de la création (apparement, 0 =succès, 21 =erreur) Je l'ai donc mis en commentaire
en rouge, ce sont les commentaires qui permettent de décrire l'action de la commande, ils sont facultatifs
en gras, le caractère (')qui permet d'écrire une ligne de commentaire ou d'invalider la ligne de commande qui suit juste apres.
le 120000 donne l'heure, ici , 21H, j'ai trouvé en bricolant mais j'ai pas pigé la logique du truc.
le 1, 2, 3.. représente les jours.
ici : 1 OR 2 OR 4 OR 8 OR 16 veut dire le lundi, mardi, mercredi, jeudi et vendredi. Si tu veux le WE, faut rajouter 'OR 32 OR 64'
a noter que il te faudra faire 2 scripts : 1 pour les postes XP, 1 pour les postes 2K car dans un cas, on a c:\windows et dans l'autre c:\winnt et que le passage de la variable %systemroot%\system32 dans le script à la place de c:\win... ne fonctionne pas.
A noter aussi qu'en déployant ce script par AD, les postes clients vont le lire tous les jours au démarrage et vont donc à chaque fois créer une tache planifiée identique. moralité : au bout d'un mois, tu as une vingtaine de taches planifiées identiques sur un poste. Je sais pas dans quelle mesure, ça peut faire merder le planificateur.
Marsh Posté le 22-05-2006 à 14:57:34
Hello !
J'ai une autre solution que j'ai trouvé il y a un moment maintenant, si ça t'intéresse. Et c'est sans passer par une tache local à chaque station, mais une tâche sur le serveur.
Les prérequis sont :
- il te faut le programme shutdown.exe (présent sur win2k3 et XP, mais pas sur win2k) ou équivalent (psshutdown.exe)
- les stations doivent avoir WMI, donc au minimum win2k. Pas de linux ou autres OSA.
- le partage administratif \\computername\c$ doit exister (et être accessible)
- il faut que l'utilisateur qui lance la tâche aie les droits administrateur sur les stations à éteindres.
Voici le script :
Code :
|
Pour finir, je ne l'ai jamais utilisé en prod, donc il n'est pas très propre au niveau du code, mais il fonctionne et c'est le principal....
Au niveau du fonctionnement, il éteind toutes les machine du domaine qu'il détecte sauf celles spécifiées dans le tableau "exception".
A+
Marsh Posté le 23-05-2006 à 17:53:30
Merci beaucoup, j'essaye ça demain, j'suis trop crevé ce soir !
Marsh Posté le 22-10-2003 à 11:29:17
Bonjour a tous!
J'aimerais que les poste de mon domaine se déconnecte de leur session a une heure donné.
Pour cela j'utiliserais un script.
La question, c'est: comment mes poste peuvent-ils lancer un script sans passer par les tâche planifiés?
Merci
A+