Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Групповые политики (Group Policy, GPO): документация, ссылки

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
////////////////////////////////////////////////////////////
// shutdown.js  v.1.
// Cкрипт выключения компьютера с подтверждением присутсвия пользователя и с возможностью отмены им выключения.
// При включенном окне входа в систему скрипт выключает компьютер.
// Работоспособность проверена на Windows 7 Pro RUS x32
// Скрипт распространяется по принципу "Как есть". Автор не несет ответственности за любые последствия =).
// Авторство: Imshenetskiy Alexandr ака moonrise, 2013
//
// Отдельная благодарность:
// Roman Traxtenberg - http://forum.georgievsk.info/index.php?act=Profile&CODE=showcard&MID=2
// Glagolev Alexandr ака Nameless
// anton04 - http://forum.ru-board.com/profile.cgi?action=show&member=anton04
// и активным пользователям портала http://forum.ru-board.com
////////////////////////////////////////////////////////////
 
 
// Определяем, в какую из групп входит пользователь
// и если он входит в группу администраторов - завершаем работу скрипта  
//В случае необходимости - раскоментируйте и укажите имена групп и пользователей в зависимости от локализации системцы.
 
// var WshNetwork = WScript.CreateObject("WScript.Network");
// var UserObj,EE,GroupObj;
// UserObj = GetObject("WinNT://"+WshNetwork.UserDomain+"/"+WshNetwork.UserName);
// EE = new Enumerator(UserObj.Groups());
// while (!EE.atEnd())
// {
// GroupObj = EE.item();
// if (GroupObj.Name == "Domain Admins" || GroupObj.Name == "Administrators") WScript.Quit();
// EE.moveNext();
// }    
 
// Создание диалогового окна и команды на выключение ПК
var obj = GetObject("winmgmts:{impersonationLevel=impersonate," + "(Shutdown)}//./root/cimv2").ExecQuery ("SELECT * FROM Win32_OperatingSystem" + " WHERE Primary=true");
var e = new Enumerator(obj);
 
// Задаем время для диалогового окна, в течении которого пользователь может выбрать один из вариантов работы,
// выключение ПК или продолжение работы. Если в течении заданного времени в MSG_Time (в секундах) ничего не произойдет,
// то автовыключение ПК
 
var MSG_Time= 300;
 
//    0 - кнопка ОК.
//    1 - кнопки ОК и Отмена.
//    2 - кнопки Стоп, Повтор, Пропустить.
//    3 - кнопки Да, Нет, Отмена.
//    4 - кнопки Да и Нет.
//    5 - кнопки Повтор и Отмена.
//
//    16 - значок Stop.
//    32 - значок Question.
//    48 - значок Exclamation.
//    64 - значок Information.
 
var vbOK = 0;
var vbInformation = 64;
var vbCancel = 2;
 
 
var Message = "Уважаемые коллеги! \nВ соответствии с принятыми на Предприятии политиками безопасности в 19:00 произойдет автоматическое отключение компьютера.\nПри необходимости продолжить работу нажмите кнопку <<Ок>>.";
var Title   = "Автозавершение работы системы";
 
var Process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'logonUI.exe'");
 
function kill_comp(){
for (;!e.atEnd();e.moveNext()) {
 // 0 (0x0) - Log Off
 // 4 (0x4) - Forced Log Off (0 + 4)
 // 1 (0x1) - Shutdown
 // 5 (0x5) - Forced Shutdown (1 + 4)
 // 2 (0x2) - Reboot
 // 6 (0x6) - Forced Reboot (2 + 4)
 // 8 (0x8) - Power Off
 // 12 (0xC) - Forced Power Off (8 + 4)
 e.item().Win32Shutdown(12);
}}
 
function dialog_msg()  
{
var WSHShell = WScript.CreateObject("WScript.Shell");    
// var intDoIt = WSHShell.Popup(Message, MSG_Time, Title, vbOK + vbInformation);
    if ( Process.Count == 0 )  
    {
//    -1 - таймаут.
//    1 - кнопка ОК.
//    2 - кнопка Отмена.
//    3 - кнопка Стоп.
//    4 - кнопка Повтор.
//    5 - кнопка Пропустить.
//    6 - кнопка Да.
//    7 - кнопка Нет.
            if (WSHShell.Popup(Message, MSG_Time, Title, vbOK + vbInformation) == 1)  
            {
                WScript.Quit();    
            }
    }
}
 
//Сам скрипт =)
 
dialog_msg();
// Вырубаем машину - спать!
kill_comp();

Всего записей: 1986 | Зарегистр. 19-09-2001 | Отправлено: 19:51 13-05-2013 | Исправлено: moonrise, 20:04 13-05-2013
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Групповые политики (Group Policy, GPO): документация, ссылки


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru