Restart-Computer

로컬 및 원격 컴퓨터에서 운영 체제를 다시 시작합니다.

Syntax

Restart-Computer
       [-WsmanAuthentication <String>]
       [[-ComputerName] <String[]>]
       [[-Credential]<PSCredential>]
       [-Force]
       [-Wait]
       [-Timeout <Int32>]
       [-For <WaitForServiceTypes>]
       [-Delay <Int16>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 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 매개 변수가 지정되지 않았습니다. 그러나 첫 번째 위치 매개 변수이므로 파이프라인 아래로 전송되는 텍스트 파일의 컴퓨터 이름을 허용합니다.

Get-Content -Path C:\Domain01.txt | Restart-Computer

Get-ContentPath 매개 변수를 사용하여 텍스트 파일인 Do기본01.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-ContentPath 매개 변수를 사용하여 텍스트 파일인 Do기본01.txt에서 컴퓨터 이름 목록을 가져옵니다. 컴퓨터 이름은 변수 $Names에 저장됩니다. Get-Credential 는 사용자 이름 및 암호를 입력하라는 메시지를 표시하고 변수 $Creds에 값을 저장합니다. Restart-Computer해당 변수와 함께 ComputerName자격 증명 매개 변수를 사용합니다. Force 매개 변수를 사용하면 각 컴퓨터가 즉시 다시 시작됩니다.

예제 6: 원격 컴퓨터를 다시 시작하고 PowerShell을 기다립니다.

Restart-Computer 원격 컴퓨터를 다시 시작한 다음 PowerShell을 다시 시작한 컴퓨터에서 사용할 수 있도록 최대 5분(300초)을 기다린 후 계속합니다.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-ComputerComputerName 매개 변수를 사용하여 Server01을 지정합니다. Wait 매개 변수는 다시 시작이 완료되기를 기다립니다. ForPowerShell이 원격 컴퓨터에서 명령을 실행할 수 있도록 지정합니다. Timeout 매개 변수는 5분 대기를 지정합니다. Delay 매개 변수는 원격 컴퓨터를 2초마다 쿼리하여 다시 시작되었는지 여부를 확인합니다.

예제 7: WsmanAuthentication을 사용하여 컴퓨터 다시 시작

Restart-Computer는 WsmanAuthentication 메커니즘을 사용하여 원격 컴퓨터를 다시 시작합니다. Kerberos 인증은 현재 사용자에게 원격 컴퓨터를 다시 시작할 수 있는 권한이 있는지 여부를 결정합니다. 자세한 내용은 AuthenticationMechanism을 참조하세요.

Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos

Restart-ComputerComputerName 매개 변수를 사용하여 원격 컴퓨터 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 또는 Do기본01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 생성된 PSCredential 개체를 Get-Credential 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString으로 저장됩니다.

참고 항목

SecureString 데이터 보호에 대한 자세한 내용은 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 하지 않으면 5초 지연을 사용합니다.

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 매개 변수에서만 유효합니다. 시간 제한대기 매개 변수의 무기한 대기 기간을 재정의합니다.

이 매개 변수는 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 매개 변수는 컴퓨터가 다시 시작될 때까지 무기한 대기합니다. Timeout을 사용하여 타이밍 및 ForDelay 매개 변수를 조정하여 다시 시작한 컴퓨터에서 특정 서비스를 사용할 수 있게 될 때까지 기다릴 수 있습니다.

로컬 컴퓨터를 다시 시작할 때 Wait 매개 변수가 유효하지 않습니다. ComputerName 매개 변수의 값에 원격 컴퓨터와 로컬 컴퓨터의 이름이 포함된 경우 로컬 컴퓨터 Restart-Computer 에서 Wait에 대한 종료가 아닌 오류가 생성되지만 원격 컴퓨터가 다시 시작될 때까지 기다립니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

실행될 경우 어떤 일이 발생하는지 표시합니다 Restart-Computer . cmdlet이 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, KerberosNegotiate입니다.

자세한 내용은 AuthenticationMechanism을 참조하세요.

Warning

인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 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

입력

String

컴퓨터 이름이 포함된 문자열을 이 cmdlet으로 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.

참고

  • Windows Restart-Computer 에서 WMI(Windows Management Instrumentation) Win32_OperatingSystem 클래스의 Win32Shutdown 메서드를 사용합니다. 이 메서드를 사용하려면 컴퓨터를 다시 시작하는 데 사용되는 사용자 계정에 대해 SeShutdownPrivilege 권한을 사용하도록 설정해야 합니다.
  • Linux 및 Mac OS에서 Restart-Computer bash 도구를 사용합니다 /sbin/shutdown .