IIe4kuH,
[vba]Код
Sub ShutdownComp()
'выключение/перезагрузка/смена пользователя
Dim CompName As String, objService As Object, objOS As Object
CompName = "." 'точка - текущий компьютер; сюда можно подставить любое сетевое имя компьютера
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" & CompName & "\root\CIMV2")
For Each objOS In objService.ExecQuery("SELECT * FROM Win32_OperatingSystem")
Exit For
Next
'objOS.Reboot 'перезагрузка
objOS.Shutdown 'выключение
'objOS.Win32Shutdown 0 'Log Off
End Sub
[/vba]