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>]
Description
cmdlet은 Restart-Computer
로컬 및 원격 컴퓨터에서 운영 체제를 다시 시작합니다.
다시 시작 작업을 백그라운드 작업으로 실행하고, 인증 수준 및 대체 자격 증명을 지정하고, 동시에 실행되는 작업을 제한하고, 즉시 다시 시작하도록 하는 매개 변수 Restart-Computer
를 사용할 수 있습니다.
Windows PowerShell 3.0부터 다음 명령을 실행하기 전에 다시 시작이 완료되기를 기다릴 수 있습니다. 대기 시간 제한 및 쿼리 간격을 지정하고 다시 시작된 컴퓨터에서 특정 서비스를 사용할 수 있을 때까지 기다립니다. 이 기능을 사용하면 스크립트 및 함수에서 실제로 사용할 Restart-Computer
수 있습니다.
WSMan(WS-Management) 프로토콜을 사용하여 엔터프라이즈 방화벽과 같이 DCOM(Distributed Component Object Model) 호출이 차단되는 경우 컴퓨터를 다시 시작할 수 있습니다. 자세한 내용은 WS 관리 프로토콜을 참조 하세요.
이 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
는 결과를 가져오는 cmdlet으로 Receive-Job
파이프라인을 보냅니다.
예제 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을 지정합니다.
프로토콜 매개 변수는 WSMan 프로토콜을 사용하도록 지정합니다. WsmanAuthentication 매개 변수는 인증 방법을 Kerberos로 지정합니다.
매개 변수
-AsJob
백그라운드 작업으로 실행됨 Restart-Computer
을 나타냅니다.
이 매개 변수를 사용하려면 원격으로 로컬 및 원격 컴퓨터를 구성해야 합니다. Windows Vista 이상 버전의 Windows 운영 체제에서는 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 열어야 합니다. 자세한 내용은 about_Remote_Requirements 참조하세요.
AsJob 매개 변수를 지정하면 이 명령은 백그라운드 작업을 나타내는 개체를 즉시 반환합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 작업이 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과가 자동으로 로컬 컴퓨터로 반환됩니다. 작업을 관리하려면 작업 cmdlet을 사용합니다. 작업 결과를 얻으려면 cmdlet을 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[] |
별칭: | 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에서 생성된 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 |
별칭: | 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 및 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 매개 변수에서만 유효합니다. 시간 제한 은 대기 매개 변수의 무기한 대기 기간을 재정의합니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | Int32 |
별칭: | TimeoutSec |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Wait
Restart-Computer
는 PowerShell 프롬프트를 표시하지 않으며 컴퓨터가 다시 시작될 때까지 파이프라인을 차단합니다. 스크립트에서 이 매개 변수를 사용하여 컴퓨터를 다시 시작한 다음 다시 시작이 완료되면 계속 처리할 수 있습니다.
Wait 매개 변수는 컴퓨터가 다시 시작될 때까지 무기한 대기합니다. Timeout을 사용하여 타이밍 및 For 및 Delay 매개 변수를 조정하여 다시 시작한 컴퓨터에서 특정 서비스를 사용할 수 있게 될 때까지 기다릴 수 있습니다.
로컬 컴퓨터를 다시 시작할 때 Wait 매개 변수가 유효하지 않습니다. ComputerName 매개 변수의 값에 원격 컴퓨터와 로컬 컴퓨터의 이름이 포함된 경우 로컬 컴퓨터 Restart-Computer
에서 Wait에 대한 종료가 아닌 오류가 생성되지만 원격 컴퓨터가 다시 시작될 때까지 기다립니다.
이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
실행될 경우 어떤 일이 발생하는지 표시합니다 Restart-Computer
. cmdlet이 Restart-Computer
실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WsmanAuthentication
사용자 자격 증명을 인증하는 데 사용되는 메커니즘을 지정합니다. 이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.
이 매개 변수에 허용되는 값은 Basic, CredSSP, Default, Digest, Kerberos 및 Negotiate입니다.
자세한 내용은 AuthenticationMechanism을 참조하세요.
Warning
인증할 원격 컴퓨터에 사용자 자격 증명이 전달되는 CredSSP(자격 증명 보안 서비스 공급자) 인증은 원격 네트워크 공유 액세스와 같이 둘 이상의 리소스에 대한 인증이 필요한 명령을 위해 설계되었습니다. 이 메커니즘은 원격 작업의 보안 위험을 높입니다. 원격 컴퓨터가 손상된 경우 이 컴퓨터로 전달된 자격 증명을 사용하여 네트워크 세션을 제어할 수 있습니다.
형식: | String |
허용되는 값: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
컴퓨터 이름이 포함된 문자열을 이 cmdlet으로 파이프할 수 있습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
System.Management.Automation.RemotingJob
AsJob 매개 변수를 사용하는 경우 이 cmdlet은 작업 개체를 반환합니다.
참고
Restart-Computer
Windows를 실행하는 컴퓨터에서만 작동하며 로컬 시스템을 포함하여 시스템을 종료하려면 WinRM 및 WMI가 필요합니다.Restart-Computer
는 WMI(Windows Management Instrumentation) Win32_OperatingSystem 클래스의 Win32Shutdown 메서드를 사용합니다. 이 메서드를 사용하려면 컴퓨터를 다시 시작하는 데 사용되는 사용자 계정에 대해 SeShutdownPrivilege 권한을 사용하도록 설정해야 합니다.
Windows PowerShell 2.0 에서는 원격 컴퓨터를 다시 시작하거나 중지할 때 AsJob 매개 변수가 안정적으로 작동하지 않습니다. Windows PowerShell 3.0에서는 이 문제를 해결하기 위해 구현이 변경됩니다.
관련 링크
PowerShell