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


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использует параметр Path для получения файла в текущем каталоге со списком компьютеров домена. Объекты хранятся в переменной $s .

Get-Credentialиспользует параметр 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. Значением по умолчанию является Packet.

Допустимые значения для этого параметра:

  • По умолчанию: проверка подлинности Windows.
  • Нет: нет проверки подлинности COM.
  • Подключение: проверка подлинности 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. Значение по умолчанию ― Default.

Допустимые значения для этого параметра:

  • Базовая
  • CredSSP
  • По умолчанию.
  • Дайджест
  • Kerberos
  • Negotiate —

Дополнительные сведения о значениях этого параметра см. в разделе 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.

Примечания

Этот командлет использует Win32ShutdownWin32_OperatingSystem метод класса WMI. Для этого метода требуется включить привилегию SeShutdownPrivilege для учетной записи пользователя, используемой для завершения работы компьютера.