Имя: Пароль:
IT
 
выключение удаленного компьютера
0 svent0vit
 
20.08.08
12:06
Есть домашний компьютер под WXP
На него заходят через "удаленный рабочий стол"
Нужно - удаленно выключить его
Если через "пуск", то просто обрывается связь, комп продолжает работать.

Предложены варианты:
1. shutdown -s -f -m \\ThatComp
2. накидать софтинку с ExitWindowsEx()
3. навесить батник на логоф пользователя

Может есть более изящный вариант?
1 ДенисЧ
 
20.08.08
12:07
чем shutdown не нравится?
2 almar
 
20.08.08
12:07
(0) 4. Не выключать. Чем реже выключать комп, тем он дольшн не сломается.
3 Serg_1960
 
20.08.08
12:16
А "Правая кнопка мыши по нижней строке - Диспетчер задач - Завершение работы" извратом не считается?
4 svent0vit
 
20.08.08
12:17
(3) я написал, что если интерактивно выключать его, то просто обрывается связь
5 ДенисЧ
 
20.08.08
12:17
(3) а она в rdp-сессии есть?
6 Serg_1960
 
20.08.08
12:27
Сорри WXP не заметил :(
7 Тенотен
 
20.08.08
12:28
shutdown/?
8 Serg_1960
 
20.08.08
12:33
Если права "правильно" прописаны - то никак :( а иначе - "изящно" ярлык на рабочем столе для shutdown под паролем администратора расположи ;о)
9 nv24
 
20.08.08
12:41
Скрипт выключения
'*******************************************************************
' Имя: Shutdown.vbs
' Язык: VBScript
' Описание: Выключение компьютера
'*******************************************************************
Option Explicit
On Error Resume Next

' Объявляем переменные
Dim strComputer       ' Имя компьютера
Dim strNamespace      ' Имя пространства имен
Dim strClass          ' Имя класса
Dim objClass          ' Объект SWbemObject (класс WMI)
Dim colInstances      ' Коллекция экземпляров класса WMI
Dim objInstance       ' Элемент коллекции
Dim iAnswer           ' Код возврата функции MsgBox

'********************** Начало *************************************
' Присваиваем начальные значения переменным
strComputer = "."
strNamespace = "Root\CIMV2"
strClass = "Win32_OperatingSystem"

' Получаем указатель на класс WMI
Set objClass = GetObject("WinMgmts:{(Shutdown,RemoteShutdown)}\\" & strComputer & _
                        "\" & strNamespace & ":" & strClass)
' Создаем коллекцию экземпляров класса Win32_OperatingSystem
Set colInstances = objClass.Instances_

' Перебираем элементы коллекции
For Each objInstance In colInstances
 ' Выводим на экран предупреждение
 iAnswer = MsgBox("Выключить компьютер " & objInstance.CSNAME & " ?", _
                 vbQuestion + vbOKCancel, "Внимание!")

 If iAnswer = vbOK Then
   ' Выводим сообщение о перезагрузке
   WScript.Echo "Компьютер " &  objInstance.CSNAME & " будет выключен"  
   ' Вызываем метод Shutdown
   objInstance.Shutdown()

   If Err.number <> 0 Then
     WScript.Echo  "Номер ошибки: " & Err.Number & vbNewLine & _
                   "Описание: " & Err.Description
   End If
 Else
   ' Выводим сообщение об отмене операции
   WScript.Echo  "Не будем пока выключать"
 End if
Next
'************************* Конец ***********************************
10 Скользящий
 
20.08.08
12:39
nncron поставь и не мучайся.
11 svent0vit
 
20.08.08
14:36
Как сделать последовательно логофф текущего юзера и последующий хибернет машины? Ищу заготовку под батник. Тупо 2 команды подряд не канают, т.к. после исполнения логоффа все дальнейшие юзерские команды стопаются.
12 Ацкий Сотона
 
20.08.08
14:41
(9) WMI не на всех компьютерах работает, и может быть запрещен групповыми политиками
13 svent0vit
 
20.08.08
14:54
(12) говорю же - ДОМАШНИЙ компьютер
нужно сделать с минимум тело движениями
ибо пользователь - чайник
но копипастить сможет
14 Туц
 
20.08.08
14:58
(0) А нахрен утилиты? Дать права удаленным пользователям на завершение работы. И пусть через пуск и выключают.
15 Jump
 
20.08.08
14:58
(11)А зачем нужен логофф если следом идет хибернейт???
16 svent0vit
 
20.08.08
17:33
(14) такой вот нахрен, что за этим компом вообще никого временами не бывает
(15) потому что хибернейт не делает логофф. Вроде и так ясно.
17 smaharbA
 
20.08.08
17:35
нажать ctrl+alt+del
18 smaharbA
 
20.08.08
17:40
+(17) либо Пуск - Настройка - Безопасность Windows (ну или где она там будет)
19 Jump
 
20.08.08
17:41
(16)ну так и делай логофф после выхода из хибернейт, тебе какая разница в каком виде он в хибернейт уходит?
Т.е суть вопроса в (15) - чем тебе помешает висящий сеанс если комп ушел в хибернейт?