| |||||
| Dernière réponse | |
|---|---|
| Sujet : Lancer un script a une heure donné | |
| Kin | Merci beaucoup, j'essaye ça demain, j'suis trop crevé ce soir ! :jap: |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| Kin | Merci beaucoup, j'essaye ça demain, j'suis trop crevé ce soir ! :jap: |
| helvetik | 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 :
|
| i'm philou | 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. |
| Kin | up :jap: |
| Kin | Peu importe, mais le mieux est d'éteindre.
Merci :jap: |
| lombrusco | éteindre ou déconnecter de la session? |
| Kin | Je m'en sors pas ! :cry:
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 :'( |
| Kin | 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 ;) :hello: |
| lombrusco | 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.... |
| Kin | 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, :jap: |
| Requin | 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 |
| helvetik | 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:
|
| helvetik | bon, ben je teste demain, si j'ai le temps...
La je vais au pieu. A+ et merci. |
| helvetik |
attend que je relise :ange: oups.. j'avais pas vu le lien... On va mettre ca sur le compte de la fatigue. :whistle: |
| El Pollo Diablo |
|
| helvetik | A moins alors d'avoir un moyen de créer des tache planifié via script?? C'est possible? |
| helvetik |
|
| El Pollo Diablo |
|
| Requin | 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. |
| El Pollo Diablo |
|
| Requin |
|
| helvetik | Effectivement avec TS, tu peux virer l'utilisateur apprès un temps de connexion ou d'inactivité.
Mais pas avec un log local. |
| CK Ze CaRiBoO | 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 |
| helvetik | 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 |
| CK Ze CaRiBoO | t'as lu ce que j'ai écrit ? |
| helvetik | le probleme, c'est que cette option interdit le log, mais ne délog pas.... |
| CK Ze CaRiBoO | 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 ??) |
| helvetik | 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 |
| Requin | 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. |
| ced822 | une commande at mais ca revient au meme que les taches planifiées... |
| helvetik | 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+ |




