Restart-Computer
로컬 및 원격 컴퓨터에서 운영 체제를 다시 시작합니다.
구문
Restart-Computer
[[-ComputerName] <string[]>]
[[-Credential] <pscredential>]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-WsmanAuthentication <string>]
[-Protocol <string>]
[-Force]
[-Wait]
[-Timeout <int>]
[-For <WaitForServiceTypes>]
[-Delay <int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restart-Computer
[[-ComputerName] <string[]>]
[[-Credential] <pscredential>]
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-Force]
[-ThrottleLimit <int>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Restart-Computer
cmdlet은 로컬 및 원격 컴퓨터에서 운영 체제를 다시 시작합니다.
Restart-Computer
매개 변수를 사용하여 다시 시작 작업을 백그라운드 작업으로 실행하고, 인증 수준 및 대체 자격 증명을 지정하고, 동시에 실행되는 작업을 제한하고, 즉시 다시 시작하도록 할 수 있습니다.
Windows PowerShell 3.0부터 다음 명령을 실행하기 전에 다시 시작이 완료되기를 기다릴 수 있습니다. 대기 시간 제한 및 쿼리 간격을 지정하고 다시 시작된 컴퓨터에서 특정 서비스를 사용할 수 있을 때까지 기다립니다. 이 기능을 사용하면 스크립트 및 함수에서 Restart-Computer
사용할 수 있습니다.
엔터프라이즈 방화벽과 같이 DCOM(Distributed Component Object Model) 호출이 차단되는 경우 WSMan(WS-Management) 프로토콜을 사용하여 컴퓨터를 다시 시작할 수 있습니다. 자세한 내용은 WS-Management 프로토콜참조하세요.
이 cmdlet을 사용하려면 명령에서 AsJob 매개 변수를 사용하는 경우에만 Windows PowerShell 원격이 필요합니다.
예제
예제 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
cmdlet으로 파이프라인 아래로 전송됩니다.
예제 4: 원격 컴퓨터 다시 시작
Restart-Computer
사용자 지정된 가장 및 인증 설정을 사용하여 원격 컴퓨터를 다시 시작합니다.
Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Restart-Computer
ComputerName 매개 변수를 사용하여 Server01지정합니다.
Impersonation 매개 변수는 요청자의 ID를 숨기도록 익명을 지정합니다.
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 및 자격 증명 매개 변수를 변수와 함께 사용합니다.
Force 매개 변수는 각 컴퓨터를 즉시 다시 시작합니다.
ThrottleLimit 매개 변수는 명령을 10개의 동시 연결로 제한합니다.
예제 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: WSMan 프로토콜을 사용하여 컴퓨터 다시 시작
Restart-Computer
기본 DCOM 대신 WSMan 프로토콜을 사용하여 원격 컴퓨터를 다시 시작합니다. Kerberos 인증은 현재 사용자에게 원격 컴퓨터를 다시 시작할 수 있는 권한이 있는지 여부를 결정합니다.
이러한 설정은 DCOM이 차단되어 DCOM 기반 다시 시작이 실패하는 엔터프라이즈용으로 설계되었습니다. 예를 들어 방화벽에 의한 것입니다.
Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos
Restart-Computer
ComputerName 매개 변수를 사용하여 원격 컴퓨터 Server01지정합니다.
Protocol 매개 변수는 WSMan 프로토콜을 사용하도록 지정합니다.
WsmanAuthentication 매개 변수는 인증 방법을 Kerberos지정합니다.
매개 변수
-AsJob
Restart-Computer
백그라운드 작업으로 실행됨을 나타냅니다.
이 매개 변수를 사용하려면 원격으로 로컬 및 원격 컴퓨터를 구성해야 합니다. Windows Vista 이상 버전의 Windows 운영 체제에서는 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 열어야 합니다. 자세한 내용은 about_Remote_Requirements참조하세요.
AsJob 매개 변수를 지정하면 명령이 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업이 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과가 자동으로 로컬 컴퓨터로 반환됩니다. 작업을 관리하려면 작업 cmdlet을 사용합니다. 작업 결과를 얻으려면 Receive-Job
cmdlet을 사용합니다.
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[] |
별칭: | 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과 같은 사용자 이름을 입력하거나 Get-Credential
cmdlet에서 생성된 PSCredential 개체를 입력합니다.
자격 증명 매개 변수가 지정되지 않은 경우 Restart-Computer
현재 사용자의 자격 증명을 사용합니다.
형식: | PSCredential |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DcomAuthentication
WMI 연결에 사용되는 인증 수준을 지정합니다.
Restart-Computer
WMI를 사용합니다.
유효한 값은 다음과 같습니다.
- 통화: 통화 수준 COM 인증
- 연결: 연결 수준 COM 인증
- 기본: Windows 인증
- 없음: COM 인증 없음
- 패킷: 패킷 수준 COM 인증입니다.
- PacketIntegrity: 패킷 무결성 수준 COM 인증
- PacketPrivacy: 패킷 개인 정보 수준 COM 인증입니다.
- 변경되지 않은: 인증 수준은 이전 명령과 동일합니다.
자세한 내용은 AuthenticationLevel 열거형참조하세요.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | AuthenticationLevel |
별칭: | 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
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 |
-Impersonation
이 cmdlet이 WMI를 호출하는 데 사용하는 가장 수준을 지정합니다.
Restart-Computer
WMI를 사용합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 기본: 기본 가장입니다. 이름에도 불구하고 기본값은 아닙니다.
- 익명: 호출자의 ID를 숨깁니다.
- 식별: 개체가 호출자의 자격 증명을 쿼리할 수 있도록 허용합니다.
- 가장: 개체가 호출자의 자격 증명을 사용할 수 있도록 허용합니다.
형식: | ImpersonationLevel |
허용되는 값: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Protocol
컴퓨터를 다시 시작하는 데 사용할 프로토콜을 지정합니다. 유효한 값은 WSMan
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | String |
허용되는 값: | DCOM, WSMan |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ThrottleLimit
이 명령을 실행하기 위해 설정할 수 있는 최대 동시 연결 수를 지정합니다. 제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.
ThrottleLimit 매개 변수가 지정되지 않았거나 값이 0인 경우 Restart-Computer
최대 32개의 동시 연결을 사용합니다.
형식: | Int |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Timeout
대기 기간(초)을 지정합니다. 시간 제한이 경과하면 컴퓨터를 다시 시작하지 않더라도 Restart-Computer
명령 프롬프트로 돌아갑니다.
Timeout 매개 변수는 Wait 매개 변수에서만 유효합니다. 제한 시간Wait 매개 변수의 무기한 대기 기간을 재정의합니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | Int |
별칭: | 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에서 도입되었습니다.
이 매개 변수에 허용되는 값은
자세한 내용은 AuthenticationMechanism참조하세요.
경고
인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터에 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.
형식: | String |
허용되는 값: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
Restart-Computer
파이프라인 또는 변수의 컴퓨터 이름을 허용합니다.
Windows PowerShell 2.0에서 ComputerName 매개 변수는 파이프라인에서 속성 이름으로만 입력을 사용합니다. Windows PowerShell 3.0 이상에서는 ComputerName 매개 변수가 파이프라인의 입력을 값으로 사용합니다.
출력
None, System.Management.Automation.RemotingJob
AsJob 매개 변수를 지정하면 Restart-Computer
작업 개체를 반환합니다. 그렇지 않으면 출력이 생성되지 않습니다.
참고
-
Restart-Computer
Windows를 실행하는 컴퓨터에서만 작동하며 WinRM 및 WMI가 로컬 시스템을 포함하여 시스템을 종료해야 합니다. -
Restart-Computer
WMI(Windows Management Instrumentation) Win32_OperatingSystem 클래스의 Win32Shutdown 메서드 사용합니다.
Windows PowerShell 2.0에서는 원격 컴퓨터를 다시 시작하거나 중지할 때 AsJob 매개 변수가 안정적으로 작동하지 않습니다. Windows PowerShell 3.0에서는 이 문제를 해결하기 위해 구현이 변경됩니다.