InitiateSystemShutdown (Сеть, W2k Prof.->W2K Prof.)

Тема в разделе "WASM.WIN32", создана пользователем Flanker, 21 фев 2006.

  1. Flanker

    Flanker Антон

    Публикаций:
    0
    Регистрация:
    8 янв 2006
    Сообщения:
    101
    Адрес:
    Russia
    Почему InitiateSystemShutdown в сетке не вырубает компы. (W2k Prof.->W2K Prof.). Есть ли аналог, работающий с W2k Prof.
     
  2. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    MSDN говорит следуещее:

    To shut down a remote computer, the calling thread must have the SE_REMOTE_SHUTDOWN_NAME privilege on the remote computer.



    Когда то в университете развлекался. Работает на УРА, если ты входиш в групу админов, и привилегия включена.
     
  3. Flanker

    Flanker Антон

    Публикаций:
    0
    Регистрация:
    8 янв 2006
    Сообщения:
    101
    Адрес:
    Russia
    И я вот решил поразвлекаться в учебном заведении.

    а если не входишь в группу админов? облом?
     
  4. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    Ну есть трояны, эксплоиты, но это плохо. По сему - найди другой способ развлечений.
     
  5. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Flanker

    Без прав админа ты и свой комп, вроде, таким методом не вырубишь.

    Свой можно вырубать через ExitWindowsEx.

    Иначе надо заходить под админом, и активировать привилегию SE_REMOTE_SHUTDOWN_NAME, используя функцию AdjustTokenPrivileges. D ckexft ExitWindowsEx нужно иметь привилегию SE_SHUTDOWN_NAME, по умолчанию она доступна для активации у всех пользователей. Однако доступность для активации не освобождает от вызова AdjustTokenPrivileges перед использованием, это всего лишь позволяет получить возможность получить данную привилегию

    Уффф... Майкрософт всё запутала.
     
  6. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Да и ещё: админ должен быть на сервере. Локальный админ не может получать доступ к чужим компам.
     
  7. Flanker

    Flanker Антон

    Публикаций:
    0
    Регистрация:
    8 янв 2006
    Сообщения:
    101
    Адрес:
    Russia
    Вырубал. И под гостем. Только вот проблемы с сетью из под

    W2k Prof не вырубается W2k Prof. Пример кривой, но рабочий

    //=======================================================

    #include<windows.h>

    #include<stdio.h>



    void main()

    {

    TOKEN_PRIVILEGES tkp;

    HANDLE hToken;

    char MachineName[256];

    char Msg[256];



    puts("Enter Machine name: "); gets(MachineName);

    puts("Enter Message: "); gets(Msg);



    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);

    LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);

    tkp.PrivilegeCount=1;

    tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;

    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, 0);



    InitiateSystemShutdown(MachineName, Msg, 15, TRUE, FALSE);

    }