다음을 통해 공유


Restart-Computer

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

구문

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

Description

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

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

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-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자격 증명 매개 변수를 사용합니다. Force 매개 변수는 각 컴퓨터를 즉시 다시 시작합니다.

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

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

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

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

예제 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 로컬 컴퓨터를 다시 시작합니다.

형식:String[]
별칭:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Confirm

Restart-Computer실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Credential

이 작업을 수행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

User01 또는 Domain01\User01같은 사용자 이름을 입력하거나 cmdlet에서 생성된 Get-Credential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 입력하라는 메시지가 표시됩니다.

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

메모

SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?.

형식:PSCredential
Position:1
Default value:Current user
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Delay

쿼리 빈도(초)를 지정합니다. PowerShell은 For 매개 변수로 지정된 서비스를 쿼리하여 컴퓨터를 다시 시작한 후 서비스를 사용할 수 있는지 여부를 확인합니다.

이 매개 변수는 WaitFor 매개 변수와 함께만 유효합니다.

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

Delay 매개 변수를 지정하지 않으면 Restart-Computer 5초 지연을 사용합니다.

형식: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
별칭:f
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Timeout

대기 기간(초)을 지정합니다. 시간 제한이 경과하면 컴퓨터를 다시 시작하지 않더라도 Restart-Computer 명령 프롬프트로 돌아갑니다.

Timeout 매개 변수는 Wait 매개 변수에서만 유효합니다. 제한 시간 매개 변수는 대기 매개 변수의 무기한 대기 기간을 재정의합니다.

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

형식:Int32
별칭:TimeoutSec
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Wait

Restart-Computer PowerShell 프롬프트를 표시하지 않으며 컴퓨터가 다시 시작될 때까지 파이프라인을 차단합니다. 스크립트에서 이 매개 변수를 사용하여 컴퓨터를 다시 시작한 다음 다시 시작이 완료되면 계속 처리할 수 있습니다.

Wait 매개 변수는 컴퓨터가 다시 시작될 때까지 무기한 대기합니다. 제한 시간 사용하여 지연 매개 변수의 타이밍 및 조정하여 다시 시작한 컴퓨터에서 특정 서비스를 사용할 수 있게 될 때까지 기다릴 수 있습니다.

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

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

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

Restart-Computer 실행될 경우 어떤 일이 발생하는지 표시합니다. Restart-Computer cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WsmanAuthentication

사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

이 매개 변수에 허용되는 값은 기본, CredSSP, 기본, 다이제스트, Kerberos, 및 협상입니다.

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

경고

인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터에 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.

형식:String
허용되는 값:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

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

출력

None

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

참고

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