Forcer le reboot sous windows nt ou windows 2000 (redémarrage forcé)

Soyez le premier à donner votre avis sur cette source.

Vue 30 697 fois - Téléchargée 899 fois


Description

Voici un petit exemple qui peut s'avérer très utile pour forcer le redémarrage d'une station NT ou 2000.

Source / Exemple :


' Dans votre Form, mettez :
' Un txtbox nommé : TxtNbSec
' Un bouton nommé : BtnReboot

Option Explicit
Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) As Long

Private Sub Apropos_Click()
    MsgBox ("Forcer le reboot d'une station NT/2000")
End Sub

Private Sub BtnReboot_Click()
    InitiateSystemShutdown "\\127.0.0.1", "Ce système va être rebooté suite à la demande de BSDCUBEReboot.", CLng(Me.TxtNbSec.Text), True, True
    ' Nom de la machine, Message qui va s'afficher, Délai (en seconde, j'ai déjà mis 28800 sec pour programmer l'arrêt et ça marche aussi), Forcer la fermeture des application ouvertes, Redemarrer (false = arrêt)
End Sub

Private Sub quitter_Click()
    End
End Sub

Private Sub TxtNbSec_KeyPress(KeyAscii As Integer)
    If KeyAscii < 48 Or KeyAscii > 57 Then
        MsgBox ("Seulement de chiffres")
        KeyAscii = 0
    End If
End Sub

Conclusion :


ATTENTION : ne cliquez pas sur le bouton directement car il n'y a aucun moyen d'arrêter le redémarrage du poste. Donc si vous testez, fermez tous vos progs avant ;-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 6 mai 2007
Statut
Membre
Dernière intervention
6 mai 2007

Bonjour à toutes et à tous,
Grand merci à "Nix" pour ce site et surtout pour ce petit programme.
Je vais vite l'essayer.
Messages postés
47
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
7 janvier 2012

lol faut pas le vexer il s'est juste enflammé quelques secondes parce qu'il s'est cru +fort que Nix c pa grav :p
Messages postés
831
Date d'inscription
samedi 15 mai 1999
Statut
Modérateur
Dernière intervention
18 juillet 2009

Pour l'idiot du village (sans le nommer acidtoxik) la commande dos "shutdown" n'est que dans Win XP et Win 2003 ! Et le titre de ma source stipule bien Win NT et Win 2000 !
Messages postés
86
Date d'inscription
jeudi 8 juillet 2004
Statut
Membre
Dernière intervention
27 juin 2007
1
Bonjour,

Pour lancer le redémarrage forcé, il faut executer la commande "shutdown -t 60 -s".

Mais on peut a tout moment interrompre le compte à rebours avec la commande "shutdown -a".
( c'est comme ca qu'il fallait empecher le virus Sasser de redémarrer leposte).

@++
Tahiti_bob
Messages postés
54
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2004

de plus, je dois ajouter qu'on peut tout à fait annuler cette fonction simplement en utilisant l'autre API :

BOOL AbortSystemShutdown(
LPTSTR lpMachineName
);

on fait donc :
AbortSystemShutdown("")

et c'est bon

Pour ce que j'ai dit au-dessus, les privilèges sont accordés grâce à la fonction AdjustTokenPrivileges() (API)... allez voir d'autres sources pour plus d'infos

Helkanen
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.