Eteindre ou redémarrer l'ordinateur

Contenu du snippet

Public Sub ElgWMIRemoteBoot(ByVal Machine As String, ByVal Login As String, ByVal MotDePasse As String, ByVal Action As Integer) 
Try
Dim co As New ConnectionOptions 
If (Not Login.Trim.Length = 0) Then

co.Username = Login

If (Not MotDePasse.Trim.Length = 0) Then

co.Password = MotDePasse

End If

End If

co.EnablePrivileges = True

co.Impersonation = ImpersonationLevel.Impersonate
Dim aManagementScope As New System.Management.ManagementScope(String.Format("\\{0}\root\CIMV2", Machine), co) 
Dim aObjectQuery As New System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem")
Dim aManagementObjectSearcher As New ManagementObjectSearcher(aManagementScope, aObjectQuery) 
Dim aManagementObjectCollection As ManagementObjectCollection = aManagementObjectSearcher.Get()
For Each aManagementObject As ManagementObject In aManagementObjectCollection 
Dim ParamObject(1) As String
Select Case Action 
Case 0 : ParamObject(0) = "4" ' Ferme session

Case 1 : ParamObject(0) = "6" ' Redemarre

Case 2 : ParamObject(0) = "12" ' Eteind

End Select
aManagementObject.InvokeMethod("Win32Shutdown", ParamObject) 
Next
Catch ex As Exception 
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try


End Sub


Compatibilité : VB 2005, VB 2008

Disponible dans d'autres langages :

A voir également

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.