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
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.