Restart-Computer
Перезапуск операционной системы на локальных и удаленных компьютерах.
Синтаксис
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет Restart-Computer
перезапускает операционную систему на локальном и удаленном компьютерах.
Параметры можно использовать для запуска операций перезапуска Restart-Computer
, для указания уровней проверки подлинности и альтернативных учетных данных, для ограничения операций, которые выполняются одновременно, и принудительного немедленного перезапуска.
Начиная с Windows PowerShell 3.0, можно дождаться завершения перезапуска, прежде чем выполнять следующую команду. Укажите время ожидания и интервал запроса, а также дождитесь доступности определенных служб на перезапущенном компьютере. Эта функция делает ее удобной для использования Restart-Computer
в скриптах и функциях.
Примеры
Пример 1. Перезагрузка локального компьютера
Restart-Computer
перезапускает локальный компьютер.
Restart-Computer
Пример 2. Перезагрузка нескольких компьютеров
Restart-Computer
может перезапустить удаленные и локальные компьютеры. Параметр ComputerName принимает массив имен компьютеров.
Restart-Computer -ComputerName Server01, Server02, localhost
Пример 3. Получение имен компьютеров из текстового файла
Restart-Computer
получает список имен компьютеров из текстового файла и перезапускает компьютеры. Параметр ComputerName не указан. Но так как это первый параметр position, он принимает имена компьютеров из текстового файла, которые отправляются по конвейеру.
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
использует параметр Path для получения списка имен компьютеров из текстового файла ,Domain01.txt. Имена компьютеров отправляются по конвейеру. Restart-Computer
перезапускает каждый компьютер.
Пример 4. Принудительный перезапуск компьютеров, перечисленных в текстовом файле
В этом примере выполняется немедленная перезагрузка компьютеров, перечисленных Domain01.txt
в файле . Имена компьютеров из текстового файла хранятся в переменной . Параметр Force выполняет немедленную перезагрузку.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
Get-Content
использует параметр Path для получения списка имен компьютеров из текстового файла ,Domain01.txt. Имена компьютеров хранятся в переменной $Names
. Get-Credential
запрашивает имя пользователя и пароль и сохраняет значения в переменной $Creds
. Restart-Computer
использует параметры ComputerName и Credential со своими переменными. Параметр Force приводит к немедленной перезагрузке каждого компьютера.
Пример 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 указывает пятиминутное ожидание. Параметр Delay каждые две секунды запрашивает удаленный компьютер, чтобы определить, был ли он перезапущен.
Пример 7. Перезагрузка компьютера с помощью WsmanAuthentication
Restart-Computer
перезапускает удаленный компьютер с помощью механизма WsmanAuthentication .
Проверка подлинности Kerberos определяет, имеет ли текущий пользователь разрешение на перезагрузку удаленного компьютера. Дополнительные сведения см. в разделе AuthenticationMechanism.
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
использует параметр ComputerName , чтобы указать удаленный компьютер Server01.
Параметр WsmanAuthentication указывает метод проверки подлинности Kerberos.
Параметры
-ComputerName
Указывает одно имя компьютера или массив имен компьютеров с разделителями-запятыми. Restart-Computer
принимает объекты ComputerName из конвейера или переменных.
Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку .
или localhost.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен для выполнения удаленных команд.
Если параметр ComputerName не указан, Restart-Computer
перезагружает локальный компьютер.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Запрашивает подтверждение перед запуском Restart-Computer
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , созданный командлетом Get-Credential
. Если ввести имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно secure is SecureString?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
Указывает частоту запросов в секундах. PowerShell запрашивает службу, указанную параметром For , чтобы определить, доступна ли служба после перезагрузки компьютера.
Этот параметр действителен только вместе с параметрами Wait и For .
Этот параметр впервые появился в Windows PowerShell 3.0.
Если параметр Delay не указан, Restart-Computer
использует задержку в пять секунд.
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-For
Указывает поведение PowerShell в ожидании доступности указанной службы или компонента после перезагрузки компьютера. Этот параметр допустим только с параметром Wait .
Допустимые значения для этого параметра:
- По умолчанию: ожидает перезапуска PowerShell.
- PowerShell: может выполнять команды в удаленном сеансе PowerShell на компьютере.
- WMI: получает ответ на запрос Win32_ComputerSystem для компьютера.
- WinRM: может установить удаленный сеанс на компьютере с помощью WS-Management.
Этот параметр впервые появился в Windows PowerShell 3.0.
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Выполняет немедленную перезагрузку компьютера.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Указывает время ожидания в секундах. По истечении Restart-Computer
времени ожидания возвращается в командную строку, даже если компьютеры не перезагружены.
Параметр Timeout действителен только с параметром Wait . Время ожидания переопределяет неопределенный период ожидания параметра Wait .
Этот параметр впервые появился в Windows PowerShell 3.0.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Restart-Computer
подавляет запрос PowerShell и блокирует конвейер до тех пор, пока компьютеры не будут перезагружены. Этот параметр можно использовать в скрипте, чтобы перезагрузить компьютеры, а затем продолжить обработку после завершения перезагрузки.
Параметр Wait ожидает перезагрузки компьютеров в течение неопределенного времени. Время ожидания можно использовать для настройки времени и параметров For и Delay , чтобы дождаться появления определенных служб на перезапущенных компьютерах.
Параметр Wait недействителен при перезагрузке локального компьютера. Если значение параметра ComputerName содержит имена удаленных компьютеров и локального компьютера, Restart-Computer
возникает неустранимая ошибка ожидания на локальном компьютере, но ожидает перезагрузки удаленных компьютеров.
Этот параметр впервые появился в Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при выполнении Restart-Computer
. Командлет Restart-Computer
не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя. Этот параметр впервые появился в Windows PowerShell 3.0.
Допустимые значения для этого параметра: Basic, CredSSP, Default, Digest, Kerberos и Negotiate.
Дополнительные сведения см. в разделе AuthenticationMechanism.
Предупреждение
Проверка подлинности поставщика службы безопасности учетных данных (CredSSP), при которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности в нескольких ресурсах, таких как доступ к удаленной сетевой папке. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.
Type: | String |
Accepted values: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать строку, содержащую имя компьютера, в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
- В Windows
Restart-Computer
использует метод Win32Shutdown класса Win32_OperatingSystem инструментария управления Windows (WMI). Для этого метода требуется включить привилегию SeShutdownPrivilege для учетной записи пользователя, используемой для перезапуска компьютера. - В Linux и Mac OS
Restart-Computer
использует/sbin/shutdown
средство bash.