Restart-Computer
Перезапуск операционной системы на локальных и удаленных компьютерах.
Синтаксис
Restart-Computer
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restart-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Restart-Computer
перезапускает операционную систему на локальных и удаленных компьютерах.
Параметры Restart-Computer
можно использовать для запуска операций перезапуска в качестве фонового задания, для указания уровней проверки подлинности и альтернативных учетных данных, для ограничения операций, выполняемых одновременно, и для принудительного немедленного перезапуска.
Начиная с Windows PowerShell 3.0, вы можете ждать завершения перезагрузки перед выполнением следующей команды. Укажите интервал ожидания ожидания и интервал запроса и дождитесь доступности определенных служб на перезагруженном компьютере. Эта функция делает его практическим для использования Restart-Computer
в скриптах и функциях.
Для перезапуска компьютера можно использовать протокол WS-Management (WSMan), если вызовы распределенной объектной модели компонентов (DCOM) блокируются, например брандмауэром предприятия. Дополнительные сведения см. в разделе "Протокол WS-Management".
Этот командлет требует удаленного взаимодействия Windows PowerShell только при использовании параметра AsJob в команде.
Примеры
Пример 1. Перезапуск локального компьютера
Restart-Computer
перезапускает локальный компьютер.
Restart-Computer
Пример 2. Перезапуск нескольких компьютеров
Restart-Computer
может перезапустить удаленные и локальные компьютеры. Параметр ComputerName принимает массив имен компьютеров.
Restart-Computer -ComputerName Server01, Server02, localhost
Пример 3. Перезапуск компьютеров в качестве фонового задания
Эти команды выполняют Restart-Computer
команду в качестве фонового задания на двух удаленных компьютерах, а затем получите результаты.
Так как AsJob создает задание на локальном компьютере и автоматически возвращает результаты на локальный компьютер, можно запустить Receive-Job
как локальную команду.
$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job
Restart-Computer
использует параметр ComputerName для указания Server01 и Server02. Параметр AsJob запускает команду в качестве фонового задания. Объект задания хранится в переменной $Job
. $Job
отправляется по конвейеру командлету Receive-Job
, который получает результаты.
Пример 4. Перезапуск удаленного компьютера
Restart-Computer
перезапускает удаленный компьютер с настраиваемыми параметрами олицетворения и проверки подлинности.
Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Restart-Computer
использует параметр ComputerName для указания Server01. Параметр олицетворения указывает анонимный, чтобы скрыть удостоверение запрашивающего пользователя. Параметр DcomAuthentication указывает PacketIntegrity в качестве уровня проверки подлинности подключения.
Пример 5. Принудительное перезапуска компьютеров, перечисленных в текстовом файле
В этом примере выполняется немедленный перезапуск компьютеров, перечисленных в Domain01.txt
файле. Имена компьютеров из текстового файла хранятся в переменной. Параметр Force принудительно запускает немедленный перезапуск, а параметр ThrottleLimit ограничивает количество одновременных подключений.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10
Get-Content
использует параметр Path для получения списка имен компьютеров из текстового файла Domain01.txt. Имена компьютеров хранятся в переменной $Names
. Get-Credential
запрашивает имя пользователя и пароль и сохраняет значения в переменной $Creds
. Restart-Computer
использует параметры ComputerName и Credential со своими переменными. Параметр Force приводит к немедленному перезапуску каждого компьютера. Параметр ThrottleLimit ограничивает команду до 10 одновременных подключений.
Пример 6. Перезагрузка удаленного компьютера и ожидание powerShell
Restart-Computer
перезапускает удаленный компьютер, а затем ожидает до 5 минут (300 секунд) для того, чтобы PowerShell стал доступным на перезагрузленном компьютере, прежде чем он продолжит работу.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
использует параметр ComputerName для указания Server01. Параметр wait ожидает завершения перезагрузки. Параметр For указывает, что PowerShell может выполнять команды на удаленном компьютере. Параметр Timeout задает пятиминутное ожидание. Параметр "Задержка " запрашивает удаленный компьютер каждые две секунды, чтобы определить, перезапускается ли он.
Пример 7. Перезапуск компьютера с помощью протокола WSMan
Restart-Computer
перезапускает удаленный компьютер с помощью протокола WSMan вместо протокола DCOM по умолчанию. Проверка подлинности Kerberos определяет, имеет ли текущий пользователь разрешение на перезапуск удаленного компьютера.
Эти параметры предназначены для предприятий, в которых перезапуск на основе DCOM завершается сбоем, так как DCOM заблокирован. Например, брандмауэром.
Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos
Restart-Computer
использует параметр ComputerName для указания удаленного компьютера Server01.
Параметр Протокола указывает, чтобы использовать протокол WSMan. Параметр WsmanAuthentication указывает метод проверки подлинности как Kerberos.
Параметры
-AsJob
Указывает, что Restart-Computer
выполняется в качестве фонового задания.
Чтобы использовать этот параметр, локальные и удаленные компьютеры должны быть настроены для удаленного взаимодействия. В Windows Vista и более поздних версиях операционной системы Windows необходимо открыть PowerShell с помощью параметра "Запуск от имени администратора ". Дополнительные сведения см. в about_Remote_Requirements.
При указании параметра AsJob команда немедленно возвращает объект, представляющий фоновое задание. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Задание создается на локальном компьютере, а результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Чтобы управлять заданием, используйте командлеты задания . Чтобы получить результаты задания, используйте Receive-Job
командлет.
Дополнительные сведения о фоновых заданиях Windows PowerShell см. в about_Jobs и about_Remote_Jobs.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает одно имя компьютера или разделенный запятыми массив имен компьютеров. Restart-Computer
принимает объекты ComputerName из конвейера или переменных.
Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку .
или localhost.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен для выполнения удаленных команд.
Если параметр ComputerName не указан, Restart-Computer
перезагрузит локальный компьютер.
Тип: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед выполнением Restart-Computer
.
Тип: | 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. Restart-Computer
использует WMI.
Допустимые значения:
- Вызов: проверка подлинности COM на уровне звонка
- Подключение: проверка подлинности COM на уровне подключения
- По умолчанию: проверка подлинности Windows
- Нет: без проверки подлинности COM
- Пакет: проверка подлинности COM на уровне пакетов.
- PacketIntegrity: проверка подлинности COM уровня целостности пакетов
- PacketPrivacy: проверка подлинности COM уровня конфиденциальности пакетов.
- Без изменений: уровень проверки подлинности совпадает с предыдущей командой.
Дополнительные сведения см. в разделе "Перечисление AuthenticationLevel".
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | AuthenticationLevel |
Aliases: | Authentication |
Допустимые значения: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Delay
Указывает частоту запросов в секундах. PowerShell запрашивает службу, указанную параметром For , чтобы определить, доступна ли служба после перезагрузки компьютера.
Этот параметр действителен только вместе с параметрами Wait и For .
Этот параметр впервые появился в Windows PowerShell 3.0.
Если параметр Delay не указан, Restart-Computer
используется пять секунд задержки.
Тип: | Int16 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-For
Указывает поведение PowerShell по мере ожидания доступности указанной службы или компонента после перезагрузки компьютера. Этот параметр действителен только с параметром Wait .
Допустимые значения для этого параметра:
- По умолчанию: ожидает перезапуска PowerShell.
- PowerShell: может выполнять команды в удаленном сеансе PowerShell на компьютере.
- WMI: получает ответ на запрос Win32_ComputerSystem компьютера.
- WinRM: может установить удаленный сеанс на компьютере с помощью WS-Management.
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | WaitForServiceTypes |
Допустимые значения: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Принудительно перезагрузит компьютер немедленно.
Тип: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Impersonation
Указывает уровень олицетворения, используемый этим командлетом для вызова WMI. Restart-Computer
использует WMI.
Допустимые значения для этого параметра:
- По умолчанию: олицетворение по умолчанию. Несмотря на имя, это не значение по умолчанию.
- Анонимный: скрывает удостоверение вызывающего объекта.
- Определение: позволяет объектам запрашивать учетные данные вызывающего объекта.
- Олицетворения: позволяет объектам использовать учетные данные вызывающего объекта.
Тип: | ImpersonationLevel |
Допустимые значения: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Protocol
Указывает, какой протокол следует использовать для перезагрузки компьютеров. Допустимые значения: WSMan и DCOM.
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | String |
Допустимые значения: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ThrottleLimit
Указывает максимальное число одновременных подключений, которые можно установить для запуска этой команды. Предел регулирования применяется только к текущему командлету, а не к сеансу или компьютеру.
Если параметр ThrottleLimit не указан или используется значение 0, Restart-Computer
использует не более 32 одновременных подключений.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Timeout
Указывает время ожидания в секундах. Когда истекает время ожидания, вернется в командную строку, Restart-Computer
даже если компьютеры не перезагрузились.
Параметр Timeout действителен только с параметром Wait . Время ожидания переопределяет неопределенный период ожидания параметра Wait .
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Wait
Restart-Computer
подавляет запрос PowerShell и блокирует конвейер до перезапуска компьютеров. Этот параметр можно использовать в скрипте для перезагрузки компьютеров, а затем продолжить обработку после завершения перезагрузки.
Параметр wait ожидает неограниченное время перезапуска компьютеров. Время ожидания можно использовать для настройки времени и параметров for and Delay, чтобы ждать, пока определенные службы будут доступны на перезагруженных компьютерах.
Параметр Wait недействителен при перезапуске локального компьютера. Если значение параметра ComputerName содержит имена удаленных компьютеров и локального компьютера, Restart-Computer
создается несрочная ошибка ожидания на локальном компьютере, но ожидает перезапуска удаленных компьютеров.
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если выполняется Restart-Computer
. Командлет Restart-Computer
не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя. Этот параметр впервые появился в Windows PowerShell 3.0.
Допустимые значения для этого параметра: Basic, CredSSP, Default, Digest, Kerberos и Negotiate.
Дополнительные сведения см. в разделе AuthenticationMechanism.
Предупреждение
Проверка подлинности поставщика служб безопасности учетных данных (CredSSP), в которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.
Тип: | String |
Допустимые значения: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Можно передать строку, содержащую имя компьютера в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
System.Management.Automation.RemotingJob
При использовании параметра AsJob этот командлет возвращает объект задания.
Примечания
Restart-Computer
Только на компьютерах под управлением Windows и требуется WinRM и WMI для завершения работы системы, включая локальную систему.Restart-Computer
использует метод Win32Shutdown класса инструментария управления Windows (WMI) Win32_OperatingSystem. Для этого метода требуется включить привилегию SeShutdownPrivilege для учетной записи пользователя, используемой для перезапуска компьютера.
В Windows PowerShell 2.0 параметр AsJob не работает надежно при перезапуске или остановке удаленных компьютеров. В Windows PowerShell 3.0 реализация была изменена, чтобы устранить эту проблему.
Связанные ссылки
PowerShell