Powershell, как выключить компьютер
Обновлено: 21.11.2024
Давайте рассмотрим команду остановки PowerShell для выключения наших компьютеров. Мы должны использовать простую команду Stop-Computer, чтобы выключить компьютер. Если вы хотите выключить удаленный компьютер, вы можете просто использовать ту же команду.
Оглавление:
- Завершение работы с помощью остановки компьютера.
- Выключите несколько компьютеров с помощью команды stop-computer.
- Выключите компьютер с сообщением подтверждения.
- Компьютер PowerShell Shutown с учетными данными.
- Перезагрузите компьютер с помощью PowerShell.
- Вывод.
Люди также ищут:
Выключите компьютер с помощью команды Stop-Computer:
- PowerShell нечувствителен к регистру, поэтому приведенная выше команда должна работать без проблем.
- Эта команда выключит компьютер, на котором работает терминал PowerShell.
- Мы можем выключить удаленный компьютер, используя имя удаленного компьютера, как показано в приведенной ниже команде.
Выключите компьютер с разрешениями:
- Передайте переключатель -Confirm, чтобы убедиться, что PowerShell запрашивает разрешение перед завершением работы.
- Приведенная ниже команда заставит PowerShell запросить запрос перед началом завершения работы.
Это очень важно, поскольку случайное отключение производственного компьютера приведет к большим потерям. Поэтому настоятельно рекомендуется включить этап подтверждения перед завершением работы.
Выключение компьютера при отказе в доступе:
- Иногда мы получаем следующую ошибку отказа в доступе.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c р>
Останов нескольких удаленных компьютеров/серверов с помощью PowerShell
Мы можем остановить несколько компьютеров с помощью одной и той же команды PowerShell. Для этого мы будем использовать переменную PowerShell, чтобы сохранить имена всех удаленных компьютеров и выключить их, используя то же имя переменной. Выполните следующие действия, чтобы выключить несколько компьютеров.
- Создайте переменную с несколькими серверами, как показано на рисунке.
Перезагрузите компьютер с помощью PowerShell:
В этом бонусном разделе мы увидим, как перезагрузить компьютер вместо выключения. Команда проста, потому что нам нужно только заменить выключение перезапуском.
Замените на имя компьютера, который вы хотите перезагрузить.
Вывод:
Компьютер легко выключить с помощью команды PowerShell. Пользователь должен использовать только команду выключения вместе с ключом -computername для указания имени компьютера. В случае нескольких компьютеров, желательно нескольких удаленных компьютеров, мы можем использовать переменную PowerShell, чтобы сохранить все имена в одной переменной и передать эту переменную команде.
Мы можем заменить команду выключения на reboot-computer, чтобы перезагрузить компьютер.
Командлет Stop-Computer выключает локальный и удаленные компьютеры.
Вы можете использовать параметры команды Stop-Computer для указания уровней аутентификации и альтернативных учетных данных, а также для принудительного завершения работы.
В PowerShell 7.1 была добавлена команда Stop-Computer для Linux и macOS. Параметры не влияют на эти платформы. Командлет просто вызывает собственную команду /sbin/shutdown .
Примеры
Пример 1. Выключение локального компьютера
В этом примере локальный компьютер выключается.
Пример 2. Выключение двух удаленных компьютеров и локального компьютера
В этом примере останавливаются два удаленных компьютера и локальный компьютер.
Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров и локального компьютера. Каждый компьютер выключается.
Пример 3. Выключение удаленных компьютеров в фоновом режиме
В этом примере Stop-Computer выполняется как фоновое задание на двух удаленных компьютерах.
Фоновый оператор & запускает команду Stop-Computer в качестве фонового задания. Дополнительные сведения см. в разделе about_Operators.
Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров. Оператор & background запускает команду как фоновое задание. Объекты задания хранятся в переменной $j.
Объекты задания в переменной $j отправляются по конвейеру в Receive-Job , который получает результаты задания. Объекты хранятся в переменной $results. Переменная $results отображает информацию о задании в консоли PowerShell.
Пример 4. Выключение удаленного компьютера
В этом примере удаленный компьютер выключается с использованием указанной аутентификации.
Stop-Computer использует параметр ComputerName для указания удаленного компьютера.Параметр WsmanAuthentication указывает на использование Kerberos для установления удаленного подключения.
Пример 5. Выключение компьютеров в домене
В этом примере команды принудительно отключают все компьютеры в указанном домене.
Get-Content использует параметр Path для получения файла в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s.
Get-Credential использует параметр Credential для указания учетных данных администратора домена. Учетные данные хранятся в переменной $c.
Командлет Stop-Computer выключает компьютеры, указанные в списке компьютеров параметра ComputerName в переменной $s. Параметр Force вызывает немедленное завершение работы. Параметр Credential отправляет учетные данные, сохраненные в переменной $c.
Параметры
Указывает компьютеры, которые необходимо остановить. По умолчанию используется локальный компьютер.
Введите имя NETBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров в списке, разделенном запятыми. Чтобы указать локальный компьютер, введите имя компьютера или localhost.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Вы можете использовать параметр ComputerName, даже если ваш компьютер не настроен для запуска удаленных команд.
Тип: | String [ ] |
Псевдонимы: | CN, __SERVER , Сервер, IP-адрес |
Позиция: | 0 |
Значение по умолчанию: | < td>Нет|
Принимать ввод конвейера: | Истина |
Допускать подстановочные знаки: | Неверно |
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Псевдонимы: | cf |
Позиция: | Имя |
Значение по умолчанию: | False | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | PSCredential |
Позиция: | 1 |
Значение по умолчанию: | Текущий пользователь |
Принять ввод конвейера: | False | < /tr>
Допускать подстановочные знаки: | False |
Немедленное выключение компьютера.
Тип: | SwitchParameter |
Позиция: | Именованный |
Значение по умолчанию: | False |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Показывает, что произойдет, если командлет запустится. Командлет не запущен.
Тип: | SwitchParameter |
Псевдонимы: | wi |
Позиция: | Имя |
Значение по умолчанию: | False | < /tr>
Принимать ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Тип: | String |
Допустимые значения: | По умолчанию, Basic, Negotiate, CredSSP, Digest, Kerberos |
Позиция: | Имя |
Значение по умолчанию: td> | По умолчанию |
Принять ввод конвейера: | False |
Допустить подстановочные знаки: | Неверно |
Входные данные
Нет
Вы не можете передать ввод этому командлету.
Результаты
Нет
Примечания
Этот командлет использует метод Win32Shutdown класса Win32_OperatingSystem WMI.Этот метод требует, чтобы привилегия SeShutdownPrivilege была включена для учетной записи пользователя, используемой для перезагрузки компьютера.
В PowerShell 7.1 была добавлена команда Stop-Computer для Linux и macOS. Для этих платформ командлет вызывает собственную команду /sbin/shutdown .
Логично, что большинство людей всегда будут использовать графические окна и мышь для выполнения работы на компьютере, это правильно, так как проще и быстрее, но есть ряд случаев, когда вы, как продвинутый пользователь или системный администратор, просто обязаны иметь возможность выполнять все задачи без графического интерфейса. PowerShell был признан одним из основных инструментов удаленного управления Windows. Полезным будет, например, массовое выключение компьютеров по списку. PowerShell выполняет массовое отключение удаленных компьютеров без включения возможности удаленного отключения (что может представлять серьезную угрозу безопасности).
Как выключить отдельный компьютер с помощью PowerShell
Чтобы выключить компьютер, обратимся к команде выключения PowerShell. Открываем его в режиме администратора, нас будет интересовать командлет Stop-Computer. Если просто ввести его в оболочке на локальном компьютере, то начнется выключение.
Теперь давайте посмотрим на справку по этому командлету, для этого введите следующую команду, чтобы остановить компьютер через PowerShell:
Выключение удаленных компьютеров с помощью командлета PowerShell
Командлет Stop-Computer имеет переключатель -ComputerName, с помощью которого можно указать список систем, требующих завершения работы. У меня есть два удаленных компьютера с Windows 10, w10-cl02 и w10-cl03. Отключим их, введем команду:
Stop-Computer -ComputerName w10-cl02, w10-cl03
Если кто-то в данный момент работает на удаленных компьютерах, вы получите сообщение об ошибке.
Чтобы решить эту проблему, вы можете добавить ключ -Force, который будет выполнять принудительное завершение работы:
Stop-Computer -ComputerName w10-cl02, w10-cl03 -Force
Если вам нужно завершить работу от имени определенной учетной записи, вы можете использовать переключатель -Credential:
Stop-Computer -ComputerName w10-cl02, w10-cl03 -Credential root\sem -Force
root — это имя домена, а sem — имя пользователя.
В запросе учетных данных Windows укажите пароль.
Может возникнуть ситуация, когда вы или ваши коллеги подготовите тестовый файл со списком компьютеров, которые необходимо отключить. Стоп-Компьютер легко справится с этой задачей. Я помещаю на диск C:\файл computer.txt, а затем выполняю команды.
$s = Get-Content-Path C:\computers.txt
$c = Get-Credential root\sem
Stop-Computer -ComputerName $s -Force -Credential $c
Кроме того, вы можете отключить несколько удаленных компьютеров из домена AD. Для этого подходит следующий скрипт.
- $room=Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Workstations,DC=sid-666,DC=com' -SearchScope OneLevel | Select-Object DistinguishedName | Out-GridView -PassThru -Title «Выберите OU компьютеров, чтобы выключить все компьютеры в этой OU»
- $comp=(Get-ADComputer -SearchBase $room.distinguishedname -Filter *).Name
- Foreach ($c в $comp)
Скрипт PowerShell с задержкой по времени для выключения компьютера
И так, как выключить удаленный компьютер с помощью PowerShell через определенное время, ведь такой сценарий вполне может быть. Чтобы со временем решить эту проблему, существует командлет Start-Sleep.
Старт-Сон - 60 секунд; Stop-Computer -ComputerName w10-cl02, w10-cl03 -Force
В результате выполнения команды работа будет завершена на двух удаленных компьютерах. Или вы можете сделать это со списком компьютеров в текстовом файле.
- $s = Get-Content-Path C:\computers.txt
- $c = Get-Credential root\sem
- Старт-Сон – 60 секунд; Stop-Computer -ComputerName $s -Force -Credential $c
Примечание. Помните, что вам нужно адаптировать строку 1 в соответствии со структурой вашей организационной единицы.
Как выключить компьютер с помощью запроса WMI
Также с помощью командной строки или PowerShell вы можете выполнить команду с помощью WMI, чтобы выключить компьютер. Для этого введите команду:
(Get-WmiObject Win32_OperatingSystem -EnableAllPrivileges).Win32Shutdown(1)
В результате у вас будет правильное завершение работы в вашей системе Windows, вы также можете сделать принудительное завершение работы, для этого:
(Get-WmiObject Win32_OperatingSystem -EnableAllPrivileges).Win32Shutdown(5)
Рассмотрите возможность использования Action1 для выключения удаленных компьютеров, если:
- Вам необходимо выключить или перезагрузить компьютер PowerShell на нескольких компьютерах одновременно.
- У вас есть удаленные сотрудники с компьютерами, не подключенными к вашей корпоративной сети.
Action1 RMM – это облачное решение для удаленного мониторинга и управления, которое включает в себя инструменты для удаленного управления ИТ. Некоторые функции включают систему управления исправлениями, развертывание программного обеспечения, удаленный доступ к рабочему столу, инвентаризацию ИТ-активов и удаленное управление конечными точками.
Командлет PowerShell Stop-Computer
Если вы хотите использовать PowerShell для выключения компьютера, выберите командлет Stop-Computer. Командлет PowerShell Stop-Computer очень похож на встроенную в операционную систему команду выключения. Вероятным сценарием является то, что вы хотите отключить удаленный сервер.
Темы для команды PowerShell Shutdown
Простой пример Stop-Computer
Примечание 1. Эта команда выключает один именованный компьютер с именем ExchServer.
Пример Stop-Computer на нескольких серверах
$Victims = "SQLServer, ExchServer, GnomeServer"
Stop-Computer -comp $Victims -force
Примечание 2. В этом примере выключается несколько компьютеров, имена которых хранятся в переменной $Victims. Вы можете расширить эту идею, используя Get-Content для чтения имен серверов, хранящихся в текстовом файле. Кстати, я сократил параметр -computerName до -comp, в PowerShell вы можете сокращать параметры, если усеченное слово однозначно.
Stop-Computer — основы выключения
Если вы хотите использовать PowerShell для выключения компьютера, выберите командлет Stop-Computer. Однако начнем с изучения команд PowerShell, содержащих существительное «компьютер». Если вы не видите Stop-Computer среди результатов, это напомнит вам установить последнюю версию PowerShell v 2.0.
Изучаем командлет Stop-Computer
Прежде чем мы остановим наш первый компьютер с помощью команды PowerShell, стоит обратиться за помощью, чтобы мы могли проверить синтаксис и изучить параметры команды Stop-Computer.
Clear-Host
Get-Help Stop-Computer -full
Примечание 3. Я предпочитаю добавлять ключ -full, чтобы видеть примеры. С помощью help были выявлены два интересных параметра: -force и -credential. Также стоит отметить, что Stop-Computer использует WMI, поэтому возможны ограничения брандмауэра на эту команду.
Примечание 4. В случае Stop-Computer я вижу много возможностей для добавления переключателя -confirm. Правда, к такому выводу я пришел только после того, как выстрелил себе в ногу и вырубил свою локальную машину вместо сетевого сервера, на который нацелился!
Парень рекомендует: Network Performance Monitor (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)
Монитор производительности сети SolarWinds (NPM) поможет вам узнать, что происходит в вашей сети. Эта утилита также поможет вам устранить неполадки; на панели управления будет указано, является ли основная причина неработающей связью, неисправным оборудованием или перегрузкой ресурсов.
Что мне больше всего нравится, так это то, как NPM предлагает решения сетевых проблем. Он также имеет возможность отслеживать работоспособность отдельных виртуальных машин VMware. Если вы заинтересованы в устранении неполадок и создании сетевых карт, я рекомендую вам попробовать NPM в рамках 30-дневной бесплатной пробной версии.
Альтернатива остановке: перезагрузить компьютер
Возможно, вы просто хотите перезагрузить компьютер после применения исправления; в этом случае замените «Перезапустить» на «Стоп», таким образом:
Примечание 5. Опять же, брандмауэр может помешать выполнению команды, если это так, попробуйте отключить брандмауэр, а еще лучше сделать исключение для WMI.
Проблемы со Stop-Computer
Сервер RPC недоступен
- Сообщение об ошибке: сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)
- Причина: брандмауэр блокирует команду WMI/RPC.
- Решение. Отключите брандмауэры или откройте только порты RPC 135 и 445.
Примечание 5. Для этой задачи я часто использую редактор локальной политики Gpedit.msc.Затем перейдите в «Параметры Windows», «Параметры безопасности», «Брандмауэр Windows». В этом меню я щелкаю правой кнопкой мыши и создаю новое правило, ищу «Предопределенные», затем прокручиваю вниз до WMI…
Доступ запрещен
- Сообщение об ошибке: доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)).
- Решение: добавьте параметр -credential, используйте формат MachineName\UserName
Парень рекомендует: набор инструментов инженера SolarWinds (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)
Этот набор инструментов для инженеров содержит исчерпывающую консоль из 50 утилит для устранения неполадок с компьютером. Гай говорит, что это помогает мне следить за тем, что происходит в сети, и каждый инструмент помогает мне больше узнать о том, как работает базовая система.
Существует так много хороших гаджетов; это как иметь полную свободу действий в кондитерской. К счастью, утилиты отображаются логично: мониторинг, обнаружение сети, диагностика и инструменты Cisco. Попробуйте 14-дневную бесплатную пробную версию набора инструментов инженера SolarWinds сейчас!
Поиск дополнительных командлетов «Компьютер»
Давайте посмотрим, какие другие командлеты PowerShell содержат существительное «компьютер».
Get-Command -Существительное компьютер
Имя
—————
Добавить-Компьютер
Проверка-Компьютер
Удалить-Компьютер
Переименовать-Компьютер
Перезагрузить-Компьютер
/>Восстановить-Компьютер
Остановить-Компьютер
Краткий обзор командлета Windows PowerShell Stop-Computer
Stop-Computer очень похож на старую команду выключения, встроенную в несколько поколений операционных систем Windows. Преимущество Stop-Computer заключается в том, что это проще, чем запомнить, нужен ли вам ключ, такой как -s или -r, кроме того, обратная косая черта может вызвать проблемы с командой выключения.
Если вам понравилась эта страница, поделитесь ею с друзьями
Дополнительные примеры PowerShell для команд завершения работы
Пожалуйста, напишите мне, если у вас есть лучший пример сценария. Также сообщайте о любых фактических ошибках, грамматических ошибках или неработающих ссылках, я буду рад исправить ошибку.
Читайте также:
- Установить icq на компьютер бесплатно на русском языке
- Сколько часов видео можно записать на карту памяти 32 ГБ
- При включении ноутбука черный экран с надписями на английском
- Игры, в которые можно играть с мамой на ПК
- Что лучше ccleaner или auslogics boostspeed