Reiniciar maquina remota

21/06/2005 - 14:27 por Marcos Caballero | Informe spam
Muy buenas, he hecho un servicio, al final funciona, que monitoriza la
funcionalidad de unos proxys. Este servicio corre en una 3ª máquina, la cual
hace peticiones webs usando como proxy uno u otro (tenemos 2).
Este servicio está diseñado para que cuando una máquina deje de dar servicio
la reinicie, pero el problema viene cuando lo hago desde el servicio, que no
funciona.
Como puedo reiniciar desde un servicio una máquina remota?????

La sentencia que tengo actualmente en el servicio es el siguiente:
Microsoft.VisualBasic.Shell("Shutdown /r /f /m \\proxy2 /d p:4:2")

Gracias por la ayuda.

Preguntas similare

Leer las respuestas

#1 Rubén Vigón
21/06/2005 - 18:00 | Informe spam
InitiateSystemShutdown
[...] The InitiateSystemShutdown function initiates a shutdown and optional restart of the specified computer
http://msdn.microsoft.com/library/e...utdown.asp

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvp-access.com
Respuesta Responder a este mensaje
#2 Marcos Caballero
21/06/2005 - 18:55 | Informe spam
Gracias por el aporte, pero el ejemplo que muestran está en C, como lo puedo
adaptar a Vb.NET??

Tambien he visto ejemplos usando WMI, pero no consigo hacerlo funcionar.

Hay que tener en cuenta que estos reinicios se realizan desde un servicio
windows y no desde un winform.

Gracias.
"Rubén Vigón" escribió en el mensaje
news:
InitiateSystemShutdown
[...] The InitiateSystemShutdown function initiates a shutdown and optional
restart of the specified computer
http://msdn.microsoft.com/library/e...utdown.asp

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvp-access.com
Respuesta Responder a este mensaje
#3 Don Quijote de Nicaragua
21/06/2005 - 18:59 | Informe spam
Hola puedes probar este ejemplo
http://blogs.msdn.com/brad_mccabe/a...83542.aspx

saludos
Don Quijote de Nicaragua.

"Marcos Caballero" escribió en el mensaje
news:
Gracias por el aporte, pero el ejemplo que muestran está en C, como lo


puedo
adaptar a Vb.NET??

Tambien he visto ejemplos usando WMI, pero no consigo hacerlo funcionar.

Hay que tener en cuenta que estos reinicios se realizan desde un servicio
windows y no desde un winform.

Gracias.
"Rubén Vigón" escribió en el mensaje
news:
InitiateSystemShutdown
[...] The InitiateSystemShutdown function initiates a shutdown and


optional
restart of the specified computer



http://msdn.microsoft.com/library/e...utdown.asp

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvp-access.com


Respuesta Responder a este mensaje
#4 Marcos Caballero
22/06/2005 - 16:09 | Informe spam
He encontrado justo lo que buscaba,

Public Enum Win32ShutdownFlag
[Logoff] = 0
[Shutdown] = 1
[Reboot] = 2
[ForceLogOff] = 4
[ForceReboot] = 6
[PowerDown] = 8
[ForcePowerDown] = 12
End Enum

Private Sub RebootPC(ByVal flg As Win32ShutdownFlag)
Dim options As New ConnectionOptions
options.Impersonation = ImpersonationLevel.Impersonate
options.EnablePrivileges = True
' options.Username = user
' options.Password = pass
Dim myScope As New ManagementScope("\\" & Environment.MachineName &
"oot\cimv2", options)
Dim oQuery As New SelectQuery("SELECT * FROM win32_operatingsystem")
Dim oResults As New ManagementObjectSearcher(myScope, oQuery)
Dim oItem As ManagementObject
Dim oProperty As PropertyData
Dim myParams() As Object = {flg, 0}

For Each oItem In oResults.Get()
oItem.InvokeMethod("Win32Shutdown", myParams)
Next
End Sub

pero tengo un problema, me funciona de fabula cuando hago LOGOFF, pero
cuando le dijo SHUTDOWN o FORCESHUTDOWN, me da el siguiente error:

"Privilege not held. ."

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Management.ManagementException: Privilege not held.
at
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus
errorCode)
at System.Management.ManagementObject.InvokeMethod(String methodName,
ManagementBaseObject inParameters, InvokeMethodOptions options)
at System.Management.ManagementObject.InvokeMethod(String methodName,
Object[] args)
at Pruebas.frm_control_srv.RebootPC(Win32ShutdownFlag flg) in D:\Fuentes
Visual\Pruebas\Pruebas\frm_controlsrv.vb:line 120
at Pruebas.frm_control_srv.Button1_Click(Object sender, EventArgs e) in
D:\Fuentes Visual\Pruebas\Pruebas\frm_controlsrv.vb:line 94
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
-
Pruebas
Assembly Version: 1.0.1999.26945
Win32 Version: 1.0.1999.26945
CodeBase: file:///D:/Fuentes%20Visual/Pruebas/Pruebas/bin/Pruebas.exe
-
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
-
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
-
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
-
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
-
System.Management
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.2032
CodeBase:
file:///c:/windows/assembly/gac/system.management/1.0.5000.0__b03f5f7f11d50a3a/system.management.dll
-

Como lo soluciono???

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida