Как выключить компьютер через powershell

PowerShell: системное администрирование и программирование

Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

Как в PowerShell выключить компьютер

Командлет Stop-Computer

Командлет Stop-Computer выключает локальный или удалённый компьютер.

Вы можете запускать Stop-Computer с дополнительными опциями, чтобы указать уровни аутентификации и альтернативные учётные данные, а также для принудительного немедленного завершения работы.

Этот командлет использует метод Win32Shutdown класса Win32_OperatingSystem WMI.

Следующие две команды являются идентичными и выключают локальный компьютер:

Следующий пример выключит компьютер с именем Win-Server-Core, имеющим пользователя Administrator с правами, достаточными для выключения компьютера:

Эта команда выключает удалённые компьютеры и локальный компьютер.

В предыдущей команде Stop-Computer использует опцию -ComputerName для указания двух удалённых компьютеров и локального компьютера. Каждый из перечисленных компьютеров будет выключен.

Следующий код выключает удалённые компьютеры в качестве фонового задания:

В предыдущем примере Stop-Computer использует опцию -ComputerName для указания двух удалённых компьютеров. Фоновый оператор «&» переводит команду как фоновое задание. Объекты задания хранятся в переменной «$j».

Объекты задания в переменной $j отправляются по конвейеру в Receive-Job, который получает результаты задания. Объекты хранятся в переменной $results. Переменная $results отображает информацию о задании в консоли PowerShell.

Выключение удалённого компьютера:

В предыдущем примере Stop-Computer использует опцию -ComputerName для указания удалённого компьютера. Опция -WsmanAuthentication указывает использование Kerberos для установки удалённого подключения.

Выключение компьютера в домене:

В предыдущем примере Get-Content использует опцию -Path для чтобы прочитать содержимое файла Domain01.txt в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s.

Затем Get-Credential использует опцию -Credential для указания учётных данных администратора домена. Учётные данные хранятся в переменной $c.

Наконец Stop-Computer выключает компьютеры, указанные в списке компьютеров в опции -ComputerName в переменной $s. Опция -Force вызывает немедленное отключение. Опция -Credential передаёт свои учётные данные, сохранённые в переменной $c.

Ошибка «Невозможно инициировать завершение работы системы, так как компьютер используется другими пользователями»

может завершиться ошибкой:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Её причина в том, что пользователи выполнили вход на компьютере и используют его.

Для принудительного выключения укажите опцию -Force:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Выключение компьютера без PowerShell

Без PowerShell вы можете выключить компьютер следующей командой:

Вам будет показано предупреждение и компьютер будет выключен по истечении 30 секунд.

Чтобы немедленно выключить компьютер выполните команду:

Вы можете добавить в команду опцию /f, которая означает принудительное закрытие запущенных приложений без предупреждения пользователей. Подразумевается использование параметра /f, если для параметра /t задано значение больше 0.

Источник

Stop-Computer

Stops (shuts down) local and remote computers.

Syntax

Description

The Stop-Computer cmdlet shuts down the local computer and remote computers.

You can use the parameters of Stop-Computer to specify the authentication levels and alternate credentials, and to force an immediate shut down.

Examples

Example 1: Shut down the local computer

This example shuts down the local computer.

Example 2: Shut down two remote computers and the local computer

This example stops two remote computers and the local computer.

Stop-Computer uses the ComputerName parameter to specify two remote computers and the local computer. Each computer is shut down.

Example 3: Shut down remote computers as a background job

In this example, Stop-Computer runs as a background job on two remote computers.

The background operator & runs the Stop-Computer command as a background job. For more information, see about_Operators.

Example 4: Shut down a remote computer

This example shuts down a remote computer using specified authentication.

Stop-Computer uses the ComputerName parameter to specify the remote computer. The WsmanAuthentication parameter specifies to use Kerberos to establish a remote connection.

Example 5: Shut down computers in a domain

In this example, the commands force an immediate shut down of all computers in a specified domain.

Parameters

Specifies the computers to stop. The default is the local computer.

Type the NETBIOS name, IP address, or fully qualified domain name of one or more computers in a comma-separated list. To specify the local computer, type the computer name or localhost.

This parameter doesn’t rely on PowerShell remoting. You can use the ComputerName parameter even if your computer isn’t configured to run remote commands.

Type:String [ ]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Specifies a user account that has permission to do this action. The default is the current user.

Type a user name, such as User01 or Domain01\User01, or enter a PSCredential object generated by the Get-Credential cmdlet. If you type a user name, you’re prompted to enter the password.

Credentials are stored in a PSCredential object and the password is stored as a SecureString.

For more information about SecureString data protection, see How secure is SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Accept pipeline input:False
Accept wildcard characters:False

Forces an immediate shut down of the computer.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Shows what would happen if the cmdlet runs. The cmdlet isn’t run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Specifies the mechanism that is used to authenticate the user credentials when this cmdlet uses the WSMan protocol. The default value is Default.

The acceptable values for this parameter are:

For more information about the values of this parameter, see AuthenticationMechanism.

Credential Security Service Provider (CredSSP) authentication, in which the user credentials are passed to a remote computer to be authenticated, is designed for commands that require authentication on more than one resource, such as accessing a remote network share. This mechanism increases the security risk of the remote operation. If the remote computer is compromised, the credentials that are passed to it can be used to control the network session.

This parameter was introduced in PowerShell 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

You can’t pipe input to this cmdlet.

Outputs

None

Notes

This cmdlet only works on Windows and uses the Win32Shutdown method of the Win32_OperatingSystem WMI class. This method requires the SeShutdownPrivilege privilege be enabled for the user account used to restart the machine.

Источник

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

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

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

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

Эта команда немедленно блокирует рабочую станцию. Она использует rundll32.exe, который запускает библиотеки DLL Windows (и сохраняет их библиотеки для многократного использования), чтобы запустить user32.dll — библиотеку функций управления Windows.

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

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

Выход из текущего сеанса

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

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

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

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

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

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

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

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

Источник

Как выключить или перезагрузить компьютер в Windows PowerShell

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

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

Операционная система Windows имеет много различных способов для выключения или перезагрузки компьютера. Например, можно выключить или перезагрузить компьютер используя меню Пуск, меню WinX, в командной строке, в окне Выполнить, а также в окне Завершение работы Windows вызываемое нажатием клавиш Alt + F4 или создав специальный ярлык и т.д.

Чтобы выключить компьютер, запустите Windows PowerShell от имени администратора и выполните следующую команду:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Чтобы перезагрузить компьютер, запустите Windows PowerShell от имени администратора и выполните команду:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Также для выключения или перезагрузки можно использовать метод Win32Shutdown из класса WMI Win32_OperatingSystem. В качестве аргумента можно использовать флаги из списка ниже:

Рассмотрим несколько примеров команд. Чтобы выключить компьютер выполните команду:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Чтобы перезагрузить компьютер выполните команду:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Чтобы произвести выход из системы, выполните команду:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

И ещё в качестве дополнения несколько различных команд для выключения и перезагрузки компьютера используя консоль Windows PowerShell.

При помощи следующей команды можно одновременно выключить два удалённых компьютера:

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

При помощи следующей команды, можно задать время задержки (в секундах) перед выключением компьютера.

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Следующая команда задаёт время (в секундах) перед перезагрузкой компьютера.

Как выключить компьютер через powershell. Смотреть фото Как выключить компьютер через powershell. Смотреть картинку Как выключить компьютер через powershell. Картинка про Как выключить компьютер через powershell. Фото Как выключить компьютер через powershell

Дополнительную справочную информацию по командлету Restart-Computer можно посмотреть на сайте Microsoft по этой ссылке, а справку по командлету Stop-Computer смотрите здесь. На этом всё.

Источник

LogOff, Shutdown и Reboot с помощью WMI и PowerShell

Для того, чтобы выключить, перезагрузить компьютер или завершить сеанс пользователя, в PowerShell можно воспользоваться методами WMI-класса Win32_OperatingSystem.

Для начала выведем список методов класса:

Если вам надо просто перезагрузить или выключить компьютер, то подойдут методы Reboot и Shutdown соответственно. К примеру, для перезагрузки надо выполнить такую команду:

Обратите внимание на ключ EnableAllPrivileges. Повышение привилегий необходимо для данной операции, без него команда завершится с ошибкой.

Следующий метод Win32Shutdown в качестве аргумента принимает параметр (Flags), с помощью которого можно выбрать необходимое действие. Параметр представляет из себя битовую маску и может принимать следующие значения:

Log Off (0) — выход из системы. Останавливает все процессы, связанные с контекстом безопасности текущего пользователя, завершает его сеанс и отображает диалоговое окно входа в систему.

Forced Log Off (4) — принудительный выход из системы. Выход производится незамедлительно, не дожидаясь завершения процессов пользователя. Это может привести к некорректному завершению работы программ и потере данных.

Shutdown (1) — завершение работы. Завершает работу системы и выключает питание компьютера. При этом все запущенные процессы останавливаются, а содержимое памяти сохраняется на диск. Во время завершения работы система обращается к каждому запущенному приложению и ждет от него подтверждения того, что его можно безопасно завершить.

Forced Shutdown (5) — принудительное завершение работы. Завершает работу системы и выключает питание компьютера. При принудительном завершении работы все запущенные программы и службы, включая WMI, отключаются незамедлительно. Из-за этого может произойти потеря данных, а при запуске на удаленном компьютере вы не сможете увидеть результат выполнения команды.

Reboot (2) — перезагрузка. Завершение работы и перезагрузка компьютера.

Forced Reboot (6) — принудительная перезагрузка. При использовании метода принудительной перезагрузки все запущенные программы и службы незамедлительно завершаются, из за чего может произойти потеря данных.

Power Off (8) — выключение. Завершение работы системы и выключение питания компьютера (если это поддерживается).

Forced Power Off (12) — принудительное выключение. Завершение работы системы и выключение питания компьютера. При принудительном выключении все запущенные программы и службы незамедлительно завершаются, из за чего может произойти потеря данных.

К примеру команда для завершения сеанса пользователя (logoff) будет выглядеть так:

Ну и самый продвинутый метод Win32ShutdownTracker, который имеет четыре параметра — задержку (Timeout), комментарий (Comment), код причины (ReasonCode) и действие (Flags). Действия указываются аналогично предыдущему методу. Коды причины можно посмотреть здесь, хотя если особой необходимости в них нет, можно просто поставить 0. Для примера принудительно завершим работу системы, укажем таймаут 60 секунд и добавим комментарий:

Примечание. Для операций LogOff, независимо от указанной задержки выход из системы происходит незамедлительно. Добавить комментарий также невозможно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *