Enable-PSRemoting
원격 명령을 받도록 컴퓨터를 구성합니다.
구문
Default (기본값)
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Enable-PSRemoting cmdlet은 WS-Management 기술을 사용하여 전송되는 PowerShell 원격 명령을 받도록 컴퓨터를 구성합니다.
PowerShell 원격은 Windows Server 2012 이상에서 기본적으로 사용하도록 설정됩니다.
Enable-PSRemoting를 사용하여 지원되는 다른 버전의 Windows에서 PowerShell 원격 기능을 활성화하고, 기능이 비활성화된 경우 다시 활성화할 수 있습니다.
명령을 받는 각 컴퓨터에서 이 명령을 한 번만 실행해야 합니다. 명령만 보내는 컴퓨터에서는 실행할 필요가 없습니다. 구성은 수신기를 시작하기 때문에 필요한 경우에만 실행하는 것이 좋습니다.
PowerShell 3.0부터 Enable-PSRemoting cmdlet은 컴퓨터가 공용 네트워크에 있을 때 클라이언트 버전의 Windows에서 PowerShell 원격을 사용하도록 설정할 수 있습니다. 자세한 내용은 SkipNetworkProfileCheck 매개 변수에 대한 설명을 참조하세요.
Enable-PSRemoting cmdlet은 다음 작업을 수행합니다.
- 다음 작업을 수행하는 Set-WSManQuickConfig cmdlet을 실행합니다.
- WinRM 서비스를 시작합니다.
- WinRM 서비스의 시작 유형을 '자동'으로 설정합니다.
- 모든 IP 주소에 대한 요청을 수락하는 수신기를 만듭니다.
- WS-Management 통신에 방화벽 예외를 사용하도록 설정합니다.
- 아직 등록되지 않은 경우 microsoft.PowerShell 등록하고 Microsoft.PowerShell.Workflow 세션 구성을.
- 아직 등록되지 않은 경우 64비트 컴퓨터에서 Microsoft.PowerShell32 세션 구성을 등록합니다.
- 모든 세션 구성을 사용하도록 설정합니다.
- 원격 액세스를 허용하도록 모든 세션 구성의 보안 설명자를 변경합니다.
- WinRM 서비스를 다시 시작하여 이전 변경 내용을 적용합니다.
Windows 플랫폼에서 이 cmdlet을 실행하려면 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 시작합니다.
PowerShell 원격 사용에 대한 자세한 내용은 다음 문서를 참조하세요.
예제
예제 1: 원격 명령을 받도록 컴퓨터 구성
이 명령은 원격 명령을 받도록 컴퓨터를 구성합니다.
Enable-PSRemoting
예제 2: 확인 프롬프트 없이 원격 명령을 받도록 컴퓨터 구성
이 명령은 원격 명령을 받도록 컴퓨터를 구성합니다. Force 매개 변수는 사용자 프롬프트를 억제합니다.
Enable-PSRemoting -Force
예제 3: 클라이언트에서 원격 액세스 허용
이 예제에서는 Windows 운영 체제의 클라이언트 버전에서 공용 네트워크에서 원격 액세스를 허용하는 방법을 보여 줍니다. 방화벽 규칙의 이름은 Windows 버전에 따라 다를 수 있습니다.
Get-NetFirewallRule 사용하여 규칙 목록을 확인합니다. 방화벽 규칙을 사용하도록 설정하기 전에 규칙의 보안 설정을 확인하여 구성이 사용자 환경에 적합한지 확인합니다.
Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
기본적으로 Enable-PSRemoting 프라이빗 및 도메인 네트워크에서 원격 액세스를 허용하는 네트워크 규칙을 만듭니다. 이 명령은 SkipNetworkProfileCheck 매개 변수를 사용하여 동일한 로컬 서브넷의 공용 네트워크에서 원격 액세스를 허용합니다. 이 명령은 확인 메시지 표시를 억제하기 위해 Force 매개 변수를 지정합니다.
SkipNetworkProfileCheck 매개 변수는 기본적으로 동일한 로컬 서브넷의 공용 네트워크에서 원격 액세스를 허용하는 Windows 운영 체제의 서버 버전에 영향을 주지 않습니다.
Set-NetFirewallRule 모듈의 cmdlet은 원격 위치에서 공용 네트워크에서 원격 액세스를 허용하는 방화벽 규칙을 추가합니다. 여기에는 여러 서브넷의 위치가 포함됩니다.
비고
방화벽 규칙의 이름은 Windows 버전에 따라 다를 수 있습니다.
Get-NetFirewallRule cmdlet을 사용하여 시스템의 규칙 이름을 나열합니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | cf(cf) |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Force
사용자 확인을 요청하지 않고 명령을 강제로 실행합니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-SkipNetworkProfileCheck
이 cmdlet은 컴퓨터가 공용 네트워크에 있을 때 Windows 운영 체제의 클라이언트 버전에서 원격을 사용하도록 설정됨을 나타냅니다. 이 매개 변수는 동일한 로컬 서브넷에 있는 컴퓨터에서만 원격 액세스를 허용하는 공용 네트워크에 대한 방화벽 규칙을 사용하도록 설정합니다.
이 매개 변수는 기본적으로 공용 네트워크에 대한 로컬 서브넷 방화벽 규칙이 있는 Windows 운영 체제의 서버 버전에 영향을 주지 않습니다. 서버 버전에서 로컬 서브넷 방화벽 규칙을 사용하지 않도록 설정한 경우 Enable-PSRemoting 이 매개 변수의 값에 관계없이 다시 사용하도록 설정합니다.
로컬 서브넷 제한을 제거하고 공용 네트워크의 모든 위치에서 원격 액세스를 사용하도록 설정하려면 Set-NetFirewallRule 모듈의 cmdlet을 사용합니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | 위스콘신 |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
None
개체를 이 cmdlet에 파이프로 연결할 수 없습니다.
출력
String
이 cmdlet은 결과를 설명하는 문자열을 반환합니다.
참고
PowerShell 3.0부터 Enable-PSRemoting 모든 세션 구성의 Enabled 속성 값을 $true설정하여 모든 세션 구성을 사용하도록 설정합니다.
Windows 운영 체제의 서버 버전에서
Enable-PSRemoting원격 액세스를 허용하는 프라이빗 및 도메인 네트워크에 대한 방화벽 규칙을 만들고 동일한 로컬 서브넷의 컴퓨터에서만 원격 액세스를 허용하는 공용 네트워크에 대한 방화벽 규칙을 만듭니다.Windows 운영 체제의 클라이언트 버전에서 PowerShell 3.0의
Enable-PSRemoting무제한 원격 액세스를 허용하는 프라이빗 및 도메인 네트워크에 대한 방화벽 규칙을 만듭니다. 동일한 로컬 서브넷에서 원격 액세스를 허용하는 공용 네트워크에 대한 방화벽 규칙을 만들려면 SkipNetworkProfileCheck 매개 변수를 사용합니다.Windows 운영 체제의 클라이언트 또는 서버 버전에서 로컬 서브넷 제한을 제거하고 원격 액세스를 허용하는 공용 네트워크에 대한 방화벽 규칙을 만들려면 NetSecurity 모듈의
Set-NetFirewallRulecmdlet을 사용하여 다음 명령을 실행합니다.Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting의 모든 세션 구성에 대해 Enabled 속성 값을 $true으로 설정하여 모든 세션 구성을 활성화합니다.
Enable-PSRemoting
Deny_All 및 Network_Deny_All 설정을 제거합니다. 로컬 사용을 위해 예약된 세션 구성에 대한 원격 액세스를 제공합니다.