Stop-Computer
Останавливает (завершает работу) локальных и удаленных компьютеров.
Синтаксис
All
Stop-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-WsmanAuthentication <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Stop-Computer завершает работу локального компьютера и удаленных компьютеров.
Параметры Stop-Computer можно использовать для указания уровней проверки подлинности и альтернативных учетных данных, а также для принудительного завершения работы.
В PowerShell 7.1 Stop-Computer добавлен для Linux и macOS. На платформах, отличных от Windows, имеются только параметры WhatIf, Confirm и CommonParameters . Командлет просто вызывает собственную команду /sbin/shutdown.
Примеры
Пример 1. Завершение работы локального компьютера
В этом примере выполняется завершение работы локального компьютера.
Stop-Computer -ComputerName localhost
Пример 2. Завершение работы двух удаленных компьютеров и локального компьютера
В этом примере останавливается два удаленных компьютера и локальный компьютер.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров и локального компьютера. Каждый компьютер завершает работу.
Пример 3. Завершение работы удаленных компьютеров в качестве фонового задания
В этом примере Stop-Computer выполняется в качестве фонового задания на двух удаленных компьютерах.
Фоновый оператор & выполняет команду Stop-Computer в качестве фонового задания. Дополнительные сведения см. в документе about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer использует параметр ComputerName для указания двух удаленных компьютеров. Оператор фона & выполняет команду в качестве фонового задания. Объекты задания хранятся в переменной $j.
Объекты задания в переменной $j отправляются по конвейеру в Receive-Job, которая получает результаты задания. Объекты хранятся в переменной $results. Переменная $results отображает сведения о задании в консоли PowerShell.
Пример 4. Завершение работы удаленного компьютера
В этом примере выполняется завершение работы удаленного компьютера с помощью указанной проверки подлинности.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer использует параметр ComputerName для указания удаленного компьютера. Параметр WsmanAuthentication указывает, чтобы использовать Kerberos для установления удаленного подключения.
Пример 5. Завершение работы компьютеров в домене
В этом примере команды принудительно завершают работу всех компьютеров в указанном домене.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content использует параметр пути для получения файла в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s.
Get-Credential использует параметр учетных данных для указания учетных данных администратора домена. Учетные данные хранятся в переменной $c.
Stop-Computer завершает работу компьютеров, указанных в списке параметров ComputerName в переменной $s. Параметр Force вызывает немедленное завершение работы. Параметр Credential отправляет учетные данные, сохраненные в переменной $c.
Параметры
-ComputerName
Указывает компьютеры, которые нужно остановить. По умолчанию используется локальный компьютер.
Введите имя NETBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров в списке, разделенном запятыми. Чтобы указать локальный компьютер, введите имя компьютера или localhost.
Этот параметр не зависит от удаленного управления PowerShell. Вы можете использовать параметр ComputerName, даже если компьютер не настроен для выполнения удаленных команд.
Этот параметр доступен только на платформах Windows.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Китай, __СЕРВЕР, Сервер, IP-адрес |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Credential
Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетом Get-Credential. Если ввести имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Замечание
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.
Этот параметр доступен только на платформах Windows.
Свойства параметров
| Тип: | PSCredential |
| Default value: | Current user |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Force
Принудительное завершение работы компьютера.
Этот параметр доступен только на платформах Windows.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не выполняется.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | wi |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя, когда этот командлет использует протокол WSMan. Значение по умолчанию — Default.
Допустимые значения для этого параметра:
- Базовый
- CredSSP
- По умолчанию
- дайджест
- Kerberos
- Вести переговоры.
Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationMechanism.
Осторожность
Проверка подлинности поставщика служб безопасности учетных данных (CredSSP), в которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, можно использовать для управления сетевым сеансом.
Этот параметр появился в PowerShell 3.0. Этот параметр доступен только на платформах Windows.
Свойства параметров
| Тип: | String |
| Default value: | Default |
| Допустимые значения: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Этот командлет использует метод Win32Shutdown класса WMI Win32_OperatingSystem. Этот метод требует включения привилегий SeShutdownPrivilege для учетной записи пользователя, используемой для завершения работы компьютера.
В PowerShell 7.1 Stop-Computer добавлен для Linux и macOS. Для этих платформ командлет вызывает собственную команду /sbin/shutdown.