Перезавантаження з командного рядка 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>nul&wmic 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, їх знати дуже корисно.