다음을 통해 공유


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-NetFirewallRule cmdlet을 사용하여 다음 명령을 실행합니다. Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Enable-PSRemoting의 모든 세션 구성에 대해 Enabled 속성 값을 $true으로 설정하여 모든 세션 구성을 활성화합니다.

Enable-PSRemoting Deny_AllNetwork_Deny_All 설정을 제거합니다. 로컬 사용을 위해 예약된 세션 구성에 대한 원격 액세스를 제공합니다.