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

Le
Sibusate
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau l=
ocal,
pas Internet) si quelqu'un est "loggé" sur un PC.
Pour mieux me faire comprendre, voilà ce que je cherche j'ai déjà m=
is 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 sauveg=
arde.
Jusque là tout va bien à condition bien sûr que chaque PC "Vista" s=
oit
au moins en veille (procédure .BAT en tâche planifiée qui sort le P=
C 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 j=
e
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jbongran
Le #19444061
"Sibusate" 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
Lotre
Le #19444221
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" news:
Bonjour à tous,
Je cherche à savoir comment je pourrais savoir à distance (réseau
local, pas Internet) si quelqu'un est "loggé" sur un PC....


Youri Ligotmi
Le #19444211
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.
Sibusate
Le #19451291
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
Philemil
Le #19452621
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.
Sibusate
Le #19452751
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
Sibusate
Le #19470121
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
Philemil
Le #19473061
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 ?
Sibusate
Le #19479091
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
Publicité
Poster une réponse
Anonyme