Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Shutdown et VBS

2 réponses
Avatar
Liator
Bonjour à tous,

Voila, je pense que cette question a du être posée des dizaines de fois,
mais aujourd'hui encore, car semble t il, aucune réponse ferme...
En effet,malgré mes recherches sur le net, rien de bien concluant.

En fait voila, je souhaiterais, depuis mon serveur 2003, éteindre mes
machines à une heure donnée.

Cependant, j'ai testé psshutdown.exe, mais rien...
Actuellement, je fais donc:
psshutdown.exe -f -k -t 20 @c:\listes.txt -u admin

Mais en réponse :
" Couldn't access... "
Pourtant, un simple ping répond...

J'ai tenté un script VB, trouvé sur le web :
------------------------------
Const LOGOFF = 0
Const SHUTDOWN = 1
Const REBOOT = 2
Const FORCED_LOGOFF = 4
Const FORCED_SHUTDOWN = 5
Const FORCED_REBOOT = 6
Const POWER_OFF = 8
Const FORCED_POWER_OFF = 12

strComputer = "NomDuPC"

Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer &
"\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from
Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(FORCED_SHUTDOWN)
------------------------------
Mais là encore, ce script ne semble pas fonctionner, et au niveau de
"strComputer =", je souhaiterais faire appel à un fichier texte
contenant toutes mes IP de machines à éteindre...
Comment faire cela ?
En effet, une fois cela opérationnel, via le planificateur de taches,
toutes mes machines s'éteindraient à 18h30...

Encore merci à tous,

Cordialement,

Rv

2 réponses

Avatar
Liator
Chers Tous,

Me re-voilà avec une solution...
En fait, j'ai opté pour psshutdown.
J'ai donc fait un petit batch


@echo off
C:WINDOWSsysvolsysvoldomainescriptseteindrepsshutdown.exe -f @listePC


et dans mon fichier " listePC ", j'ai donc mis mes machines par leurs
noms et non leurs IP.
Pourquoi, je ne sais pas, mais cela fonctionne uniquement avec le nom...

J'ai ensuite planifié une tache de manière à ce que le script soit lancé
tous les soirs à 19h30, et le tour est joué.

Merci tout de même à tous,

cordialement,

Rv



Bonjour à tous,

Voila, je pense que cette question a du être posée des dizaines de fois,
mais aujourd'hui encore, car semble t il, aucune réponse ferme...
En effet,malgré mes recherches sur le net, rien de bien concluant.

En fait voila, je souhaiterais, depuis mon serveur 2003, éteindre mes
machines à une heure donnée.

Cependant, j'ai testé psshutdown.exe, mais rien...
Actuellement, je fais donc:
psshutdown.exe -f -k -t 20 @c:listes.txt -u admin

Mais en réponse :
" Couldn't access... "
Pourtant, un simple ping répond...

J'ai tenté un script VB, trouvé sur le web :
------------------------------
Const LOGOFF = 0
Const SHUTDOWN = 1
Const REBOOT = 2
Const FORCED_LOGOFF = 4
Const FORCED_SHUTDOWN = 5
Const FORCED_REBOOT = 6
Const POWER_OFF = 8
Const FORCED_POWER_OFF = 12

strComputer = "NomDuPC"

Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate,(Shutdown)}!" & strComputer &
"rootcimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from
Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(FORCED_SHUTDOWN)
------------------------------
Mais là encore, ce script ne semble pas fonctionner, et au niveau de
"strComputer =", je souhaiterais faire appel à un fichier texte
contenant toutes mes IP de machines à éteindre...
Comment faire cela ?
En effet, une fois cela opérationnel, via le planificateur de taches,
toutes mes machines s'éteindraient à 18h30...

Encore merci à tous,

Cordialement,

Rv


Avatar
F. Dunoyer [MVP]
Liator a formulé ce mercredi :
Chers Tous,

Me re-voilà avec une solution...
En fait, j'ai opté pour psshutdown.
J'ai donc fait un petit batch


@echo off
C:WINDOWSsysvolsysvoldomainescriptseteindrepsshutdown.exe -f @listePC


et dans mon fichier " listePC ", j'ai donc mis mes machines par leurs noms et
non leurs IP.
Pourquoi, je ne sais pas, mais cela fonctionne uniquement avec le nom...

Ca doit marcher avec les @IP sous réserve que tu utilises la bonne

syntaxe

psshutdown 192.168.0.1
ou
psshutdown 192.168.0.1,192.168.0.2

le '' est dans l'aide en ligne



--
François Dunoyer [MVP Windows Server / Security]
Des infos en Vrac : http://fds.mvps.org/ta/envrac.htm
Site perso : http://www.fdunoyer.net