Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перегрузить соседний компьютер? [D6, WinXP]


WebErr ©   (2004-02-09 15:29:00) 

Проблема в следующем: 2 компьютера соеденены локальной сетью, физически друг для друга сложнодоступны. Часто возникает потребность в перезагрузке (выключении) компьютера, при этом не уходя со своего места. Хотелось бы написать программку, которую было бы достаточно запустить с параметром имени компьютера, чтобы перегрузить (выключить) компьютер по сети.


wal   (2004-02-11 15:23:00) [1]


> Плохиш   (11.02.04 10:54) [14]
> А [5] прочитать ;-)

А права и привилегии - это разные вещи.
Если у меня есть права на перезагрузку компа, то я из своей программы смогу это сделать, только получив соответствующие привелегии, если прав нет, то и привилегии получить не удастся.

В shutdown.exe вопрос с привилегиями решен, нужно только права пользователь назначить.


Плохиш   (2004-02-11 10:54:00) [2]

>wal ©   (11.02.04 10:48) [13]
> если человек собирается перегружать другой комп, то наверно
> заранее об этом позаботился.


:-)

А [5] прочитать ;-)


wal   (2004-02-11 10:48:00) [3]


> VMcL ©   (10.02.04 20:00) [12]
> Все равно без определенных прав перезагрузить "чужой" комп
> не удастся.

Не спорю - но если человек собирается перегружать другой комп, то наверно заранее об этом позаботился.


VMcL   (2004-02-10 20:00:00) [4]

>>wal ©  (10.02.04 11:28) [11]

Все равно без определенных прав перезагрузить "чужой" комп не удастся.


wal   (2004-02-10 11:28:00) [5]

Если я ничего не путаю, в ХР есть программа shutdown.
Z:\>shutdown /?
Использование: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\<компьютер>]
               [-t xx] [-c "комментарий"] [-d up:xx:yy]

       Без аргументов          Вывод справки по использованию (как и -?)
       -i                      Отображение интерфейса, д.быть первым параметром

       -l                      Выход (не совместим с параметром -m)
       -s                      Завершение работы компьютера
       -r                      Перезагрузка компьютера
       -a                      Прекращение завершения работы системы
       -m \\<компьютер>        Удаленный компьютер, на котором выполняется
                               действие
       -t xx                   Таймаут завершения работы - xx сек.
       -c "comment"            Комментарий (не более 127 знаков)
       -f                      Принудительное завершение приложений без
                               предварительного предупреждения
       -d [u][p]:xx:yy         Код причины завершения работы
                               u - пользовательский код
                               p - код запланированного завершения
                               xx - основной код причины (1 - 255)
                               yy - дополнительный код причины (1 - 65535)

C уважением.


evvcom   (2004-02-10 02:27:00) [6]

На кой чего такое писать, если действительно уже написано? Я пользуюсь DameWare. Причем клиент сам запускает сервер на удаленном хосте (естественно, если права имеются).


VMcL   (2004-02-09 21:08:00) [7]

>>Лёша ©  (09.02.04 20:05) [8]
>уже написано - Remote Amin

1. Amin?

2. RA может что-либо делать с "чужим" компьютером только, если на "чужом" компьютере установлен сервер RA (для Win 2K и выше это NT-сервис).


Лёша   (2004-02-09 20:05:00) [8]

уже написано - Remote Amin


WebErr   (2004-02-09 18:45:00) [9]

Обидно, но ты прав как никто до тебя не был!!! :)))


Verg   (2004-02-09 18:30:00) [10]


> WebErr ©   (09.02.04 18:28) [5]
> Как получить необходимые привелегии не выходя из программы?!


Никак, система безопасности Windows была бы полным дерьмом, если бы можно было программно получить такие права на удаленном компе без ведома админа того компа...


WebErr   (2004-02-09 18:28:00) [11]

Как получить необходимые привелегии не выходя из программы?!


VMcL   (2004-02-09 18:25:00) [12]

>>WebErr ©  (09.02.04 18:01) [2]

А help никак? Привилегии кто будет получать, Пушкин?


Verg   (2004-02-09 18:19:00) [13]

Проанализируй ошибку (GetLastError). Там и будет причина.
Скорее всего ты на том (дальнем) компе не имеешь соответствующих прав.


WebErr   (2004-02-09 18:01:00) [14]

Пытаюсь:

if not InitiateSystemShutdown(PChar(Edit1.Text), nil, 0, true, true) then
 ShowMessage('Sorry! Try another name...');

Получаю 'Sorry! Try another name...'и естественно никакой перезагрузки, хотя имя компьютера указано верно! В чём же дело?!


Verg   (2004-02-09 15:32:00) [15]

InitiateSystemShutdown(Ex)


Наверх

Титульная страница Поиск, карта сайта Написать письмо