OVH Cloud OVH Cloud

Ouverture et fermeture d'une session

1 réponse
Avatar
EG
Bonjour,

Je voudrais savoir s'il est possible de cr=E9er un script=20
que j'ex=E9cuterais en fichier batch (via une t=E2che=20
planifi=E9e) qui ouvrirait une session dans windows XPP.

Serait-il possible aussi de v=E9rifier s'il y a une session=20
d'ouverte et de la fermer si c'est le cas.

Merci !

La premi=E8re r=E9ponse n'est pas ce que je recherche.
Je n'ai pas VB.

1 réponse

Avatar
Jacques Barathon [MS]
"EG" wrote in message
news:5d3f01c474b0$f90ea850$
Bonjour,

Je voudrais savoir s'il est possible de créer un script
que j'exécuterais en fichier batch (via une tâche
planifiée) qui ouvrirait une session dans windows XPP.


Tu peux faire un script (très simplement en .cmd) qui enchaîne les tâches
suivantes:

- activer l'autologon (http://support.microsoft.com/?id15231)
- redémarrer l'ordinateur (voir la commande shutdown.exe incluse dans
Windows XP)

Pour éviter que l'autologon soit actif aux redémarrages suivants, tu peux
également faire un script qui le désactive à l'ouverture de la session.
Cette session étant ouverte, elle n'est plus concernée par la désactivation,
par contre cela te protégera d'un redémarrage avant que tu aies pu modifier
quoi que ce soit.

Serait-il possible aussi de vérifier s'il y a une session
d'ouverte et de la fermer si c'est le cas.


Tu peux vérifier la présence du process Explorer.exe, preuve qu'une session
est ouverte. Tu peux le faire en .cmd, comme ci-dessous:

--- couper ici ---
@echo off
set Computer=%1
set User=%2

if (%1)==() set Computer=%computername%
if (%2)==() set User=%username%

tasklist /s %Computer% /u %User%|findstr "explorer.exe">nul
if errorlevel 1 echo Pas de session... & goto end

echo Session en cours...
:end
--- couper ici ---

Si tu veux savoir qui est connecté, tu peux aussi utiliser WMI comme dans
l'exemple ci-dessous:

--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process where Name = 'Explorer.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
Wscript.Echo strUserDomain & "" & strNameOfUser & " a une session
ouverte."
Next
--- couper ici ---

Pour fermer la session, tu peux utiliser le même outil shutdown.exe utilisé
pour redémarrer l'ordinateur: shutdown -l fermera la session en cours.

Jacques