Stop-Computer
Останавливает (завершает работу) локальных и удаленных компьютеров.
Синтаксис
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Stop-Computer
завершает работу локального компьютера и удаленных компьютеров.
Параметры Stop-Computer
можно использовать для выполнения операций завершения работы в качестве фонового задания, для указания уровней проверки подлинности и альтернативных учетных данных, чтобы ограничить одновременные подключения, созданные для выполнения команды, и принудительное завершение работы.
Этот командлет не требует удаленного взаимодействия PowerShell, если вы не используете параметр AsJob.
Примеры
Пример 1. Завершение работы локального компьютера
В этом примере выполняется завершение работы локального компьютера.
Stop-Computer -ComputerName localhost
Пример 2. Завершение работы двух удаленных компьютеров и локального компьютера
В этом примере останавливается два удаленных компьютера и локальный компьютер.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
использует параметр ComputerName для указания двух удаленных компьютеров и локального компьютера. Каждый компьютер завершает работу.
Пример 3. Завершение работы удаленных компьютеров в качестве фонового задания
В этом примере Stop-Computer
выполняется в качестве фонового задания на двух удаленных компьютерах.
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer
использует параметр ComputerName для указания двух удаленных компьютеров. Параметр AsJob выполняет команду в качестве фонового задания. Объекты задания хранятся в переменной $j
.
Объекты задания в переменной $j
отправляются по конвейеру в Receive-Job
, которая получает результаты задания. Объекты хранятся в переменной $results
. Переменная $results
отображает сведения о задании в консоли PowerShell.
Так как AsJob создает задание на локальном компьютере и автоматически возвращает результаты на локальный компьютер, вы можете запустить Receive-Job
в качестве локальной команды.
Пример 4. Завершение работы удаленного компьютера
В этом примере выполняется завершение работы удаленного компьютера с помощью указанной проверки подлинности.
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer
использует параметр ComputerName для указания удаленного компьютера. Параметр олицетворения указывает настраиваемое олицетворение, а параметр DcomAuthentication указывает параметры уровня проверки подлинности.
Пример 5. Завершение работы компьютеров в домене
В этом примере команды принудительно завершают работу всех компьютеров в указанном домене.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Get-Content
использует параметр пути для получения файла в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s
.
Get-Credential
использует параметр учетных данных для указания учетных данных администратора домена. Учетные данные хранятся в переменной $c
.
Stop-Computer
завершает работу компьютеров, указанных в списке параметров ComputerName в переменной $s
. Параметр Force вызывает немедленное завершение работы. Параметр ThrottleLimit ограничивает команду до 10 одновременных подключений. Параметр Credential отправляет учетные данные, сохраненные в переменной $c
.
Параметры
-AsJob
Указывает, что этот командлет выполняется в качестве фонового задания.
Чтобы использовать этот параметр, локальные и удаленные компьютеры должны быть настроены для удаленного взаимодействия, а в Windows Vista и более поздних версиях операционной системы Windows необходимо открыть PowerShell с помощью параметра запуска от имени администратора. Дополнительные сведения см. в about_Remote_Requirements.
При указании параметра asJob команда немедленно возвращает объект, представляющий фоновое задание. Вы можете продолжать работать в сеансе, пока задание завершится. Задание создается на локальном компьютере, а результаты удаленных компьютеров автоматически возвращаются на локальный компьютер. Чтобы получить результаты задания, используйте командлет Receive-Job
.
Дополнительные сведения о фоновых заданиях PowerShell см. в about_Jobs и about_Remote_Jobs.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает компьютеры, которые нужно остановить. По умолчанию используется локальный компьютер.
Введите имя NETBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров в списке, разделенном запятыми. Чтобы указать локальный компьютер, введите имя компьютера или localhost.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Вы можете использовать параметр ComputerName, даже если компьютер не настроен для выполнения удаленных команд.
Тип: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетом Get-Credential
. Если ввести имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Заметка
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.
Тип: | PSCredential |
Position: | 1 |
Default value: | Current user |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DcomAuthentication
Указывает уровень проверки подлинности, используемый этим командлетом с WMI.
Stop-Computer
использует WMI. Значение по умолчанию — пакетной.
Допустимые значения для этого параметра:
- по умолчанию: проверка подлинности Windows.
- Нет: нет проверки подлинности COM.
- Connect: проверка подлинности COM на уровне подключения.
- вызов: проверка подлинности COM на уровне вызовов.
- пакет: проверка подлинности COM на уровне пакетов.
- PacketIntegrity: проверка подлинности COM уровня целостности пакетов.
- PacketPrivacy: проверка подлинности COM уровня конфиденциальности пакетов.
- без изменений: то же, что и предыдущая команда.
Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationLevel.
Тип: | AuthenticationLevel |
Aliases: | Authentication |
Допустимые значения: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Принудительное завершение работы компьютера.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Impersonation
Указывает уровень олицетворения, используемый при вызове WMI этого командлета. Значение по умолчанию — олицетворения.
Stop-Computer
использует WMI. Допустимые значения для этого параметра:
- по умолчанию: олицетворение по умолчанию.
- анонимный: скрывает удостоверение вызывающего объекта.
- Определить: позволяет объектам запрашивать учетные данные вызывающего объекта.
- олицетворения: позволяет объектам использовать учетные данные вызывающего объекта.
Тип: | ImpersonationLevel |
Допустимые значения: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Protocol
Указывает, какой протокол используется для перезапуска компьютеров. Допустимые значения для этого параметра: WSMan и DCOM. Значение по умолчанию — DCOM.
Этот параметр появился в PowerShell 3.0.
Тип: | String |
Допустимые значения: | DCOM, WSMan |
Position: | Named |
Default value: | DCOM |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ThrottleLimit
Указывает максимальное количество одновременных подключений, которые можно установить для выполнения этой команды. Если этот параметр не указан или введите значение 0, используется значение по умолчанию 32.
Ограничение регулирования применяется только к текущей команде, а не к сеансу или к компьютеру.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя, когда этот командлет использует протокол WSMan. Значение по умолчанию — по умолчанию.
Допустимые значения для этого параметра:
- Основной
- CredSSP
- По умолчанию
- Переваривать
- Kerberos
- Вести переговоры.
Дополнительные сведения о значениях этого параметра см. в разделе AuthenticationMechanism.
Осторожность
Проверка подлинности поставщика служб безопасности учетных данных (CredSSP), в которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, можно использовать для управления сетевым сеансом.
Этот параметр появился в PowerShell 3.0.
Тип: | String |
Допустимые значения: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
System.Management.Automation.RemotingJob
При использовании параметра AsJob этот командлет возвращает объект RemotingJob.
Примечания
Этот командлет использует метод Win32Shutdown класса WMI Win32_OperatingSystem. Этот метод требует включения привилегий SeShutdownPrivilege
для учетной записи пользователя, используемой для завершения работы компьютера.