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

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

Помогите разобраться с InitiateSystemShutdown [D6, D7, WinXP]


Страницы:   1 2

Pohil ©   (2004-03-24 00:19:00) 

Уважаемые товарищи ! Помогите мне разобраться с этой наглой функцией. Вообщем мне нужно перезагрузить удаленный компьютер. В хэлпе по АПИ написано что - то вроде: "To shut down a remote computer, the calling process must have the SE_REMOTE_SHUTDOWN_NAME privilege on the remote computer." Только я не пойму как эти привилегии получить. И собственно функции AdjustTokenPrivileges передать SE_REMOTE_SHUTDOWN_NAME не получится. Надо вроде в winnt.h чего - то поглядеть. Короче помогите. Если есть то киньте на мыло winnt.h. Заранее благодарен.
 Надеюсь не зря :)


Unknown user   (2004-04-26 19:05:00) [1]

2 Pohil. Не занимайся ерундой. Дпя управления учетными записями в W2K используют WMI, и для твоей задачи давно уже изобретено множество программ для удаленного администрирования, причем при отсутствии домена используются программы клиенты на удаленных ПК.


Cobalt   (2004-04-24 14:26:00) [2]

Имхо, это уже не администрирование, а как-то по другому называется.
Вот у нас в фирме - компов ~20, и на всех стоят Win2K или WinXP. И все - в домене. Автоматическое обновление, и т.п.
Вот ЭТО - администрирование.


narayan   (2004-04-24 13:59:00) [3]

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


Narayan   (2004-04-24 13:54:00) [4]

Pohil ©   (08.04.04 22:17) [17]

1.Как не вставая с места получить права именно на удаленной машине?

Для этого на контроллере домена должно находиться учётная запись(1) логин и пароль которой ты знаешь.

2.Как, опять же, не вставая с места создать аккаунт для себя на удаленном компе.

Для этого учётная запись(1) должна обладать правами администратора ;)

Было бы странно, если б каждый мог не вставая с места всё подряд перегружать. Не так ли?


Hkr   (2004-04-24 11:03:00) [5]


> 2Pohil ©

А если сделать и распихать по всем компам программк, которая будет висеть на каком-нибудь порту, и ждать, когда придет комманда выключить комп?


Pohil   (2004-04-12 00:29:00) [6]

Можно простой вопрос: как зарегиться под другим пользователем?


Wistler   (2004-04-11 02:23:00) [7]

Sorry, IDTelnet


Pohil   (2004-04-10 20:34:00) [8]

> 2Wistler

Блин, я в D7 не могу найти IWTerminal. Где он там спрятан? И документации по нему нету.

Хеееееееееееееееееееееееееей, пиплы, отзовитесь.


Pohil   (2004-04-10 14:15:00) [9]

> 2Wistler

> можно зарегестрировавшись под пользоывателем имеющим администраторские права...

Можно поподробней на этом моменте. Я раньше не встречался с IWTerminal.


Wistler   (2004-04-10 13:48:00) [10]

Через сокет, или есть компонента в D7, называется типа IWTerminal или что-то типо того. Избежать ошибки "Отказано в доступе" можно зарегестрировавшись под пользоывателем имеющим администраторские права.
У себя я так выключал компы.


Pohil   (2004-04-09 21:35:00) [11]

> 2Wistler

Если ты имеешь ввиду сервер терминалов, то нет, не судьба. Дело в том что он выдает такую же ошибку, т.е. "Отказано в доступе". Да и, к тому же, интересно просто как это на делфе сделать.


WebErr   (2004-04-09 18:16:00) [12]


> Wistler ©   (09.04.04 17:48) [21]

Это как?


Wistler   (2004-04-09 17:48:00) [13]

А не судьба через Terminal выключить:

Подсоединится к удалённой машине и вызвать команду Shutdown


Игорь Шевченко   (2004-04-09 13:26:00) [14]


> Честно говоря, я вообще н уверен, есть ли на удаленных компьютерах
> моя учетная запись. :)


Если удаленные компьютеры в домене и ты один из администраторов домена, то учетная запись есть. В контроллере домена.

Иначе это уже не администирование, а несколько иначе называется.


Pohil   (2004-04-09 12:08:00) [15]

> У тебя 100 компьютеров и все под XP ?

100 это ведь утрировано. Но 40 набереться, и XP, конечно, не на всех, но все таки преобладает. К тому же это не важно, даже если б 1 только был. Задача есть - требуется ее решить. Подскажи пожалуйста.


Игорь Шевченко   (2004-04-08 23:17:00) [16]

У тебя 100 компьютеров и все под XP ?


Pohil   (2004-04-08 22:17:00) [17]

>2Игорь Шевченко

>Кроме того, я не уверен, что все операциооные системы...

Я тут глядел MSDN по этому поводу, и там сказано, что под XP это вполне возможно.

Прости, я повторюсь:

1.Как не вставая с места получить права именно на удаленной машине?
2.Как, опять же, не вставая с места создать аккаунт для себя на удаленном компе.


Игорь Шевченко   (2004-04-08 11:53:00) [18]

" By default, users can enable the SE_SHUTDOWN_NAME privilege on the computer they are logged onto, and administrators can enable the SE_REMOTE_SHUTDOWN_NAME privilege on remote computers"

Кроме того, я не уверен, что все операциооные системы могут обработать вызов Remote Shutdown, просто не в курсе.

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


Pohil   (2004-04-08 11:39:00) [19]

>2Игорь Шевченко

Честно говоря, я вообще н уверен, есть ли на удаленных компьютерах моя учетная запись. :)

Вариант 1.
Но допустим, что есть, как не вставая с места получить права именно на удаленной машине? AdjustTokenPrivileges по-моему сразу отпадает.

Вариант 2.
А если нет ее. Крайне не приятно получится. Встает 2 проблема: как, опять же, не вставая с места создать аккаунт для себя на удаленном компе.

>> Еще совет: вызывай GetLastError ....
Вызывал. Она говорит что все прекрасно и должно работать.

Еще вопрос: функция InitiateSystemShutdown всегда передает аккаунт под которым запускается?


Игорь Шевченко   (2004-04-08 10:27:00) [20]

Pohil ©   (08.04.04 02:02)

Ну вот видишь, уже информация.

"By default, users can enable the SE_SHUTDOWN_NAME privilege on the computer they are logged onto, and administrators can enable the SE_REMOTE_SHUTDOWN_NAME privilege on remote computers. " -
это условие выполняется ? Есть ли у твоей учетной записи такая привилегия на удаленных компьютерах или в домене ?

"Common reasons for failure include an invalid or inaccessible computer name or insufficient privilege."

Еще совет: вызывай GetLastError после AdjustTokenPrivileges и сравнивай с ERROR_SUCCESS, если не сравнилось, выдавай ее значение, вышеописанным способом и говори здесь :)


Страницы:   1 2

Наверх

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