Поделиться через


Изменение состояния компьютера

Этот пример применяется только к платформам Windows.

Чтобы вернуть компьютер в исходное состояние в PowerShell, используйте стандартную программу командной строки, инструментарий WMI или класс CIM. Хотя PowerShell используется только для запуска программы, сведения об изменении состояния электропитания для компьютера в PowerShell иллюстрируют некоторые важные особенности работы с внешними средствами в PowerShell.

Блокировка компьютера

Единственным способом непосредственной блокировки компьютера с помощью стандартных средств является вызов функции LockWorkstation() в user32.dll:

rundll32.exe user32.dll,LockWorkStation

Эта команда немедленно блокирует рабочую станцию. Он используется rundll32.exe для вызова LockWorkStation функции в user32.dll.

Если рабочая станция блокируется при включенном быстром переключении пользователей, например, в Windows XP, на компьютере отображается экран входа в систему, а не заставка текущего пользователя.

Чтобы завершить работу конкретных сеансов на сервере терминалов, используйте программу командной строки tsshutdn.exe.

Ведение журнала с текущего сеанса

Выйти из сеанса в локальной системе можно несколькими способами. Самый простой заключается в использовании программы командной строки удаленного рабочего стола или служб терминалов — logoff.exe (для получения дополнительных сведений введите logoff /? в командной строке PowerShell). Чтобы выйти из текущего активного сеанса, введите logoff без аргументов.

Можно также использовать средство shutdown.exe с параметром выхода:

shutdown.exe -l

Еще один вариант — использование инструментария WMI. Класс Win32_OperatingSystem имеет метод Shutdown. Вызов метода с флагом 0 инициирует выход из системы:

Дополнительные сведения см. в методе Shutdown класса Win32_OperatingSystem.

Get-CimInstance -ClassName Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

Завершение работы или перезагрузка компьютера

Завершение работы и перезапуск компьютеров аналогичны задачам. Большинство средств командной строки поддерживают оба действия. Windows включает два средства командной строки для перезагрузки компьютера. tsshutdn.exeshutdown.exe Используйте либо с соответствующими аргументами. Подробные сведения об использовании можно получить, запустив tsshutdn.exe /? или shutdown.exe /?.

Вы также можете выполнять операции завершения работы и перезапуска непосредственно из PowerShell.

Чтобы завершить работу компьютера, используйте Stop-Computer команду

Stop-Computer

Чтобы перезапустить операционную систему, используйте команду Restart-Computer.

Restart-Computer

Чтобы выполнить немедленную перезагрузку компьютера, используйте параметр -Force.

Restart-Computer -Force