Перезавантаження з командного рядка Windows. Всі можливі варіанти
Маститі системні адміністратори в усьому світі вважають за краще використовувати командний рядок. Психологічна причина - відчувати свою перевагу над звичайним користувачем, як би це не було банально. Але є й реальна необхідність - командний рядок дає набагато більшу гнучкість в управлінні системою.
Здавалося б, це твердження стосується тільки систем Linux, де управління командним рядком - найбільш розвинений і традиційний спосіб. Але це стереотип. Адже Windows на базі NT володіє практично тими ж засобами адміністрування, що і Unix, тільки команди називаються трохи по-іншому. Наприклад, якщо перезавантаження з командного рядка в Linux може бути виконана простим reboot, то в Windows треба набирати команди з параметрами.
Існує навіть не один спосіб "попросити" систему перезавантажитися! Найбільш очевидний - використання утиліти shutdown.exe. Проста перезавантаження з її допомогою робиться так - shutdown -r -t 0. Це означає наказати системі негайно перезавантажитися. Численні параметри, призначення яких докладніше можна дізнатися, запустивши команду shutdown з ключем "-?", Дозволяють виводити користувачеві табличку з попередженням. Наприклад, варіація команди shutdown.exe -r -t 60 -c. Профілактична перезавантаження через 60 секунд виведе цю табличку на екран і створить невелику затримку в одну хвилину, яка дозволить користувачеві зберегти документи. Слід зазначити, що коментар обмежений - можна задати не більше 127 символів.
Перезавантаження з командного рядка може бути запущена з ключем "-f", тоді додатки будуть завершені примусово, без попередження. Часто трапляється ситуація, коли ви на ходу роздумуєте, перезавантажувати чи ПК. Поки не пізно - вкажіть команду shutdown з ключем -a, що скасує перезавантаження.
Крім штатної утиліти, якою може бути виконана перезавантаження з командного рядка, є й інші способи, деякі з них самобутні, але багато хто прийшов саме з Unix-систем. Одна з таких команд - явно за мотивами систем Linux. Дивіться, як витончено може бути виконана перезавантаження Windows з командного рядка: ping -n seconds 127.0.0.1> nulwmic OS WHERE Primary = "TRUE" CALL Win32Shutdown 6.
Зверніть увагу, що використовується значок перенаправлення, ще є згадка nul. Природно, замість -n seconds треба вказати ту кількість, через яке планується зробити рестарт.
Одна з основ управління графічним інтерфейсом Windows - процес rundll32.exe, що є хостової. З його допомогою довантажуються в пам'ять динамічні бібліотеки. У цієї програми є командний інтерфейс, що дозволяє оперувати з елементами графічного. З його допомогою також може бути виконана перезавантаження з командного рядка: undll32 user.exe, ExitWindowsExec 2.
Вище наведено найпростіший спосіб перезавантажитися допомогою rundll32, що працює на всіх системах.
Можна використовувати і звичайний виклик діалогу завершення роботи: undll32 msgina, ShellShutdownDialog. Або відразу вимкнути ПК: RUNDLL.EXE user.exe, ExitWindows.
Є й команди, які працюють далеко не на всіх системах, а тільки на XP до SP2. При цьому використовується елемент конвеєра (|), що характерно для систем під управлінням Unix: echo y | net stop eventlog.
Команда діє таким чином: використовується недолік, що дозволяє зупинити життєво важливу службу журналу подій, що ініціалізує автоматичний рестарт.
Але й перерахованими командами справа не обмежується. Для перезавантаження можна використовувати скрипти на Visual Basic (VBS), утиліти суміжних Microsoft компаній. Приміром, psshutdown з комплексу Ps Tools, що є, по суті, вдосконаленим shutdown. Наберіть в консолі наступну команду: psshutdown -r -f -t 30. Це дозволить перезавантажити локальний або віддалений ПК протягом 30 секунд.
Віддалене перезавантаження з командного рядка, скажімо, з контролера домену, проводиться командою psshutdown -r comp1, де comp1 - назва ПК, їх можна перелічити через кому. Було б непогано сповістити користувачів про перезавантаження. Для цього в psshutdown використовується ключ -m. Штатна команда для перезавантаження віддалених ПК - tsshutdn.
Можливо, вам не знадобляться всі ці способи, але для загального розвитку будь-кому, хто часто стикається з адмініструванням ПК на базі Windows, їх знати дуже корисно.