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

arrêt à distance par un batch....

9 réponses
Avatar
Sibusate
Bonjour =E0 tous,
Je cherche =E0 savoir comment je pourrais savoir =E0 distance (r=E9seau l=
ocal,=20
pas Internet) si quelqu'un est "logg=E9" sur un PC....
Pour mieux me faire comprendre, voil=E0 ce que je cherche j'ai d=E9j=E0 m=
is en=20
place et que je cherche =E0 peaufiner....: r=E9seau local (groupe de=20
travail, pas de Domaine) de 4 PC en Vista ed. Familiale + 1 en XP ed.=20
Familiale charg=E9 exclusivemenr des sauvegardes des 4 autres. Chaque=20
jour, =E0 une heure fixe, de 10 minutes en 10 minutes, chaque PC "Vista" =

lance sa propre sauvegarde des fichiers "perso" (c:\documents\toto\*.*=20
/s par un bat et la commande XCOPY) vers le PC XP d=E9di=E9 =E0 la sauveg=
arde.=20
Jusque l=E0 tout va bien =E0 condition bien s=FBr que chaque PC "Vista" s=
oit=20
au moins en veille (proc=E9dure .BAT en t=E2che planifi=E9e qui sort le P=
C de=20
veille si besoin).
Mais le "titulaire" de l'un de ces 4 PC me pose probl=E8me : il n'est pas=
=20
souvent l=E0 et son PC est souvent =E9teint =E0 l'heure dite. Je saurais =

l'allumer =E0 distance =E0 partir du PC de sauvegarde (Wolcmd et=20
MagicPaquet) et d=E9clencher sa sauvegarde =E0 partir de celui-ci, mais j=
e=20
ne voudrais pas l'=E9teindre =E0 distance (commande Shutdown) aussit=F4t =
apr=E8s=20
sa sauvegarde si l'utilisateur s'est connect=E9 entre temps (logg=E9 en=20
fait, connect=E9 sur place, pas de risque de connection =E0 distance)....=
=2E=20
Je ne voudrais quand m=EAme pas =E9teindre son PC brutalement alors qu'il=
=20
est en train de bosser dessus.... je ne suis pas s=FBr qu'il=20
appr=E9cierait....Comment le savoir facilement en batch....???? (je ne=20
suis pas un adepte de VBS, du moins compl=E8tement incomp=E9tant et obtus=
en=20
la mati=E8re...).
Merci de votre aide et bon week-end prolong=E9.... Vous avez donc 3 jours=
=20
pour r=E9soudre mon probl=E8me ;-)))
Fran=E7ois

9 réponses

Avatar
jbongran
"Sibusate" a écrit dans le message de
news:
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau local,
pas Internet) si quelqu'un est "loggé" sur un PC....
Pour mieux me faire comprendre, voilà ce que je cherche j'ai déjà mis en
place et que je cherche à peaufiner....: réseau local (groupe de
travail, pas de Domaine) de 4 PC en Vista ed. Familiale + 1 en XP ed.
Familiale chargé exclusivemenr des sauvegardes des 4 autres. Chaque
jour, à une heure fixe, de 10 minutes en 10 minutes, chaque PC "Vista"
lance sa propre sauvegarde des fichiers "perso" (c:documentstoto*.*
/s par un bat et la commande XCOPY) vers le PC XP dédié à la sauvegarde.
Jusque là tout va bien à condition bien sûr que chaque PC "Vista" soit
au moins en veille (procédure .BAT en tâche planifiée qui sort le PC de
veille si besoin).
Mais le "titulaire" de l'un de ces 4 PC me pose problème : il n'est pas
souvent là et son PC est souvent éteint à l'heure dite. Je saurais
l'allumer à distance à partir du PC de sauvegarde (Wolcmd et
MagicPaquet) et déclencher sa sauvegarde à partir de celui-ci, mais je
ne voudrais pas l'éteindre à distance (commande Shutdown) aussitôt après
sa sauvegarde si l'utilisateur s'est connecté entre temps (loggé en
fait, connecté sur place, pas de risque de connection à distance).....
Je ne voudrais quand même pas éteindre son PC brutalement alors qu'il
est en train de bosser dessus.... je ne suis pas sûr qu'il
apprécierait....Comment le savoir facilement en batch....???? (je ne
suis pas un adepte de VBS, du moins complètement incompétant et obtus en
la matière...).
Merci de votre aide et bon week-end prolongé.... Vous avez donc 3 jours
pour résoudre mon problème ;-)))
François


Désolé, Windows mail a du mal à quotter !
Il est possible depuis un script VBS d'afficher une boite avec les boutons
oui/non pour un temps déterminé.
Si l'utilisateur n'est pas là (ou ne click sur aucun bouton, la valeur -1
sera retourné, si il click sur oui la valeur 6 sera retournée, 7 si il click
sur non
Donc il faudrait lui dire quelque chose du genre 'La sauvegarde de vos
fichiers est terminée, voulez-vous éteindre votre machine ?"
Si on récupère autre chose que la valeur 7 (non), on peut lancer la commande
d'arrêt local qui se fera au bout de 20 secondes par défaut

'Un exemple de ce que pourrait être le code:
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
BtnCode = WshShell.Popup("La sauvegarde de vos fichiers est terminée" &
vbCrLf & voulez-vous éteindre votre machine ?", 7, "Fin de sauvegarde:", 4 +
32)
If BtnCode <> 7 Then
WshShell.Run "%windir%shutdown.exe /l /y /c"
End If
Set WshShell = Nothing
Avatar
Lotre
Salut,

J'aime les idées détournées bêtes, en voici une :

Sur ces machines, forcément, certains processus sont lancés à
l'ouverture de session et tournent "en cachette" ( les cochonneries
proches de l'horloge fournissent quelques idées. )
- On trouve un tel truc commun aux bécanes ( ce serait un sacré hasard
qu'il n'y ait rien ;o)
- Par WMI , à distance on peut s'informer sur les processus en cours
et donc ...

HB

jbongran wrote:
"Sibusate" a écrit dans le message de
news:
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau
local, pas Internet) si quelqu'un est "loggé" sur un PC....


Avatar
Youri Ligotmi
Sibusate a écrit :
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau local,
pas Internet) si quelqu'un est "loggé" sur un PC....
Pour mieux me faire comprendre, voilà ce que je cherche j'ai déjà mis en
place et que je cherche à peaufiner....: réseau local (groupe de
travail, pas de Domaine) de 4 PC en Vista ed. Familiale + 1 en XP ed.
Familiale chargé exclusivemenr des sauvegardes des 4 autres. Chaque
jour, à une heure fixe, de 10 minutes en 10 minutes, chaque PC "Vista"
lance sa propre sauvegarde des fichiers "perso" (c:documentstoto*.*
/s par un bat et la commande XCOPY) vers le PC XP dédié à la sauvegarde.
Jusque là tout va bien à condition bien sûr que chaque PC "Vista" soit
au moins en veille (procédure .BAT en tâche planifiée qui sort le PC de
veille si besoin).
Mais le "titulaire" de l'un de ces 4 PC me pose problème : il n'est pas
souvent là et son PC est souvent éteint à l'heure dite. Je saurais
l'allumer à distance à partir du PC de sauvegarde (Wolcmd et
MagicPaquet) et déclencher sa sauvegarde à partir de celui-ci, mais je
ne voudrais pas l'éteindre à distance (commande Shutdown) aussitôt après
sa sauvegarde si l'utilisateur s'est connecté entre temps (loggé en
fait, connecté sur place, pas de risque de connection à distance).....
Je ne voudrais quand même pas éteindre son PC brutalement alors qu'il
est en train de bosser dessus.... je ne suis pas sûr qu'il
apprécierait....Comment le savoir facilement en batch....???? (je ne
suis pas un adepte de VBS, du moins complètement incompétant et obtus en
la matière...).
Merci de votre aide et bon week-end prolongé.... Vous avez donc 3 jours
pour résoudre mon problème ;-)))
François



En affectant un script d'ouverture de session et un autre de fermeture
de session à l'utilisateur en question, à l'ouverture de session on
écrit un fichier témoin qu'on efface à la fermeture.
Si l'utilisateur ferme proprement sa session alors la présence ou
l'absence du ficher témoin peut montrer l'ouverture de session ou pas.
C'est pas très propre mais ça doit pouvoir marcher.
Avatar
Sibusate
Merci de vos réponses et de vos suggestions à tous les 3.
Je retiens particulièrement celle de Youri qui, si elle fait un peu
"Usine à Gaz" a le mérite d'être simple à mettre en oeuvre et fac ile à
tester.
Celle de jbongran présente ** à mes yeux ** le gros inconvénient qu e
l'utilisateur ne peut répondre *que* s'il est devant son PC. S'il s'est
absenté 5 minutes au moment où j'envoie le message, je n'ai pas
deréponse et éteind son PC de force ! pas bien gentil !!!!!
Quand à celle de Lôtre HB, je n'arrive pas à en comprendre l'usage. .. je
suis désolé.
Mais merci à tous les trois et bone fin de week-end.
François
Avatar
Philemil
Sibusate a écrit :
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau local,
pas Internet) si quelqu'un est "loggé" sur un PC....



Bonjour

Peut-être avec l'outil psloggedon.exe de sysinternals

http://technet.microsoft.com/fr-fr/sysinternals/bb897545.aspx

par exemple en testant la sortie de la commande ainsi:

.../...

psloggedon.exe NOM_ORDINATEUR | find "NOM_UTILISATEUR" /I

.../...

il suffit ensuite de tester la variable %ERRORLEVEL% , elle sera à 0 si
find rapporte la recherche

Il est sûrement possible de faire un find sur la sortie de psloggedon,
lorsqu'il n'y a personne de loggé, mais je n'ai pas de quoi tester sous
la main.
Avatar
Sibusate
Philemil a écrit :
Peut-être avec l'outil psloggedon.exe de sysinternals



Merci Philemil... Cela correspond parfaitement à ce que je recherche.
Pour info, voici le résultat de chaque cas : personne n'est loggé sur la
machine Annick, je suis loggé sur la machine VJ

C:>psloggedon vj | find "FRANCOIS"

loggedon v1.33 - See who's logged on
Copyright ® 2000-2006 Mark Russinovich
Sysinternals - www.sysinternals.com

30/05/2009 22:52:07 FRANCOISADMINISTRATEUR

C:>psloggedon annick | find "ANNICK"

loggedon v1.33 - See who's logged on
Copyright ® 2000-2006 Mark Russinovich
Sysinternals - www.sysinternals.com


C:>
Je n'ai pas encore testé les codes retour.... ce sera pour demain. Mai s
déjà, un *GRAND MERCI* pour ton aide.
François
Avatar
Sibusate
Philemil a écrit :
Peut-être avec l'outil psloggedon.exe de sysinternals





Bonjour à tous,
Pour compléter la réponse de Philemil....
J'ai 2 PC (un fixe, VJ et un portable gizarf) avec, sur chacun VMWARE .
Sur le portable, je fais tourner une VM appelée Francois. Toutes ces
machines sont en réseau avec tous les disques partagés (et acce ssibles)
dans tous les sens.

Sur cette machine virtuelle Francois, tournant sur mon portable,je
lance la commande
>psloggedon -x vj (VJ est la machine Host du PC fixe) et j'obtiens
immédiatement la réponse suivante
C:System>psloggedon -x vj
Users logged on locally:
AUTORITE NTSERVICE LOCAL
AUTORITE NTSERVICE R╔SEAU
VJMaison
AUTORITE NTSYSTEM
Unable to query resource logons

Sur cette même machine virtuelle Francois je lance la commande :
C:System>psloggedon -x gizarf (gizarf est la mchine Host du PC
portable sur/sous lequel tourne la machine virtuelle Francois) et
j'obtiens, au bout de 45 secondes la réponse suivante :

Error opening HKEY_USERS for gizarf

Auriez-vous une idée ?????
Merci d'avance
François
Avatar
Philemil
Bonjour

> Sibusate a écrit :

.../..

Sur cette même machine virtuelle Francois je lance la commande :
C:System>psloggedon -x gizarf (gizarf est la mchine Host du PC
portable sur/sous lequel tourne la machine virtuelle Francois) et
j'obtiens, au bout de 45 secondes la réponse suivante :

Error opening HKEY_USERS for gizarf

Auriez-vous une idée ?????
Merci d'avance
François



s'agit-il d'un XP édition HOME ?

vu le message d'erreur , "psloggedon" semble s'appuyer sur l'accès à la
base de registre à distance, or c'est un service qui n'existe pas en
édition familiale, si c'est le cas, psloggedon ne fonctionnera qu'en
local sur ces éditions.

quelqu'un en sait peut-être plus ?
Avatar
Sibusate
Philemil a écrit :
s'agit-il d'un XP édition HOME ?



Non, non, il s'agit bien de XP Pro + SP3 à jour sur toutes les machi nes....
C'est effectivement l'accès à la BDR à distance qui semble rait ne pas
fonctionner, ou du moins ne pas répondre (assez vite ??)
Merci
François