about_Remote_Requirements

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

항목

about_Remote_Requirements

간단한 설명

Windows PowerShell®에서 원격 명령을 실행하기 위한 시스템 요구 사항 및 구성 요구 사항에 대해 설명합니다.

자세한 설명

이 항목에서는 Windows PowerShell에서 원격 연결을 설정하고 원격 명령을 실행하기 위한 시스템 요구 사항, 사용자 요구 사항 및 리소스 요구 사항에 대해 설명합니다. 또한 원격 작업을 구성하기 위한 지침을 제공합니다.

참고: 여러 cmdlet(Get-Service, Get-Process, Get-WMIObject, Get-EventLog 및 Get-WinEvent cmdlet 포함)은 Microsoft .NET Framework 메서드를 통해 개체를 검색하여 원격 컴퓨터의 개체를 가져옵니다. Windows PowerShell 원격 인프라는 사용되지 않습니다. 이러한 cmdlet에는 이 문서의 요구 사항이 적용되지 않습니다. ComputerName 매개 변수가 있지만 Windows PowerShell 원격 기능을 사용하지 않는 cmdlet을 찾으려면 cmdlet의 ComputerName 매개 변수에 대한 설명을 읽어보세요.

시스템 요구 사항

Windows PowerShell 3.0에서 원격 세션을 실행하려면 로컬 및 원격 컴퓨터에 다음이 있어야 합니다.

  • -- Windows PowerShell 3.0 이상

  • -- Microsoft .NET Framework 4.0 이상

  • -- Windows Remote Management 3.0

Windows PowerShell 2.0에서 원격 세션을 실행하려면 로컬 및 원격 컴퓨터에 다음이 있어야 합니다.

  • -- Windows PowerShell 2.0 이상

  • -- Microsoft .NET Framework 2.0 이상

  • -- Windows Remote Management 2.0

Windows PowerShell 2.0 및 Windows PowerShell 3.0이 실행되는 컴퓨터 간에 원격 세션을 만들 수 있습니다. 그러나 세션 연결을 끊었다가 다시 연결하는 기능과 같이 Windows PowerShell 3.0에서만 실행되는 기능은 두 컴퓨터 모두에서 Windows PowerShell 3.0이 실행되고 있을 때만 사용할 수 있습니다.

설치된 Windows PowerShell 버전의 버전 번호를 확인하려면 $PSVersionTable 자동 변수를 사용합니다.

WinRM(Windows Remote Management) 3.0 및 Microsoft .NET Framework 4.0은 Windows 8, Windows Server 2012 및 최신 버전의 Windows 운영 체제에 포함되어 있습니다. WinRM 3.0은 이전 운영 체제용 Windows Management Framework 3.0에 포함되어 있습니다. 컴퓨터에 필요한 버전의 WinRM 또는 Microsoft .NET Framework가 없는 경우 설치가 실패합니다.

사용자 권한

원격 세션을 만들고 원격 명령을 실행하려면 기본적으로 현재 사용자가 원격 컴퓨터에서 Administrators 그룹의 구성원이거나 관리자의 자격 증명을 제공해야 합니다. 그러지 않으면 명령이 실패합니다.

원격 컴퓨터(또는 로컬 컴퓨터의 원격 세션)에서 세션을 만들고 명령을 실행하는 데 필요한 권한은 세션이 연결되는 원격 컴퓨터의 세션 구성("끝점"이라고도 함)에 의해 설정됩니다. 특히, 세션 구성의 보안 설명자는 세션 구성에 액세스할 수 있는 사용자 및 세션 구성을 사용하여 연결할 수 있는 사용자를 결정합니다.

기본 세션 구성의 보안 설명자인 Microsoft.PowerShell, Microsoft.PowerShell32 및 Microsoft.PowerShell.Workflow는 Administrators 그룹의 구성원에게만 액세스를 허용합니다.

현재 사용자에게 세션 구성을 사용할 수 있는 권한이 없으면 명령을 실행(임시 세션 사용)하거나 원격 컴퓨터에서 영구 세션을 만들기 위한 명령이 실패합니다. 사용자는 세션을 만드는 cmdlet의 ConfigurationName 매개 변수를 사용하여(사용 가능한 경우) 다른 세션 구성을 선택할 수 있습니다.

컴퓨터에서 Administrators 그룹의 구성원은 기본 세션 구성의 보안 설명자를 변경하고 다양한 보안 설명자를 통해 새 세션 구성을 만들어 원격으로 컴퓨터에 연결할 수 있는 권한이 있는 사용자를 결정할 수 있습니다.

세션 구성에 대한 자세한 내용은 about_Session_Configurations(https://go.microsoft.com/fwlink/?LinkID=145152)를 참조하세요.

WINDOWS 네트워크 위치

Windows PowerShell 3.0부터 Enable-PSRemoting cmdlet은 개인, 도메인 및 공용 네트워크에서 클라이언트 및 서버 버전의 Windows에서 원격 기능을 사용하도록 설정할 수 있습니다.

개인 및 도메인 네트워크를 사용하는 서버 버전의 Windows에서 Enable-PSRemoting cmdlet은 무제한 원격 액세스를 허용하는 방화벽 규칙을 만듭니다. 또한 동일한 로컬 서브넷에 있는 컴퓨터의 원격 액세스만 허용하는 공용 네트워크용 방화벽 규칙을 만듭니다. 이 로컬 서브넷 방화벽 규칙은 공용 네트워크에 있는 서버 버전의 Windows에서 기본적으로 사용되도록 설정되지만 Enable-PSRemoting은 규칙이 변경되거나 삭제되면 규칙을 다시 적용합니다.

개인 및 도메인 네트워크를 사용하는 클라이언트 버전의 Windows에서 Enable-PSRemoting cmdlet은 기본적으로 무제한 원격 액세스를 허용하는 방화벽 규칙을 만듭니다.

공용 네트워크를 사용하는 클라이언트 버전의 Windows에서 원격 기능을 사용하도록 설정하려면 Enable-PSRemoting cmdlet의 SkipNetworkProfileCheck 매개 변수를 사용합니다. 동일한 로컬 서브넷에 있는 컴퓨터의 원격 액세스만 허용하는 방화벽 규칙을 만듭니다.

공용 네트워크에서 로컬 서브넷 제한을 제거하고 클라이언트 및 서버 버전의 Windows에서 모든 위치로부터의 원격 액세스를 허용하려면 NetSecurity 모듈에서 Set-NetFirewallRule cmdlet을 사용합니다. 다음 명령을 실행합니다.

        Set-NetFirewallRule –Name "WINRM-HTTP-In-TCP-PUBLIC" –RemoteAddress Any   

Windows PowerShell 2.0에서 서버 버전의 Windows에서는 Enable-PSRemoting을 사용하여 모든 네트워크의 원격 액세스를 허용하는 방화벽 규칙을 만들 수 있습니다.

Windows PowerShell 2.0에서 클라이언트 버전의 Windows에서는 Enable-PSRemoting을 사용하여 개인 및 도메인 네트워크에 대해서만 방화벽 규칙을 만들 수 있습니다. 네트워크 위치가 공용인 경우 Enable-PSRemoting이 실패합니다.

관리자 권한으로 실행

관리자 권한은 다음 원격 작업을 위해 필요합니다.

  • -- 로컬 컴퓨터에 대한 원격 연결 설정. 이것을 일반적으로 "루프백" 시나리오라고 합니다.

  • -- 로컬 컴퓨터의 세션 구성 관리

  • -- 로컬 컴퓨터에서 WS-Management 설정 보기 및 변경. 다음은 WSMAN: 드라이브의 LocalHost 노드에 있는 설정입니다.

이러한 작업을 수행하려면 로컬 컴퓨터에서 Administrators 그룹의 구성원인 경우에도 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작해야 합니다.

Windows 7 및 Windows Server 2008 R2에서 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작하려면

  • 1. 시작, 모든 프로그램, 보조프로그램을 차례로 클릭하고 Windows PowerShell 폴더를 클릭합니다.

  • 2. Windows PowerShell을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 클릭합니다.

"관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작하려면

  • 1. 시작, 모든 프로그램을 차례로 클릭하고 Windows PowerShell 폴더를 클릭합니다.

  • 2. Windows PowerShell을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 클릭합니다.

"관리자 권한으로 실행" 옵션은 바로 가기 키를 포함하여 Windows PowerShell에 대한 다른 Windows 탐색기 항목에서도 사용할 수 있습니다. 항목을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 클릭하면 됩니다.

Cmd.exe와 같은 다른 프로그램에서 Windows PowerShell을 시작하는 경우 "관리자 권한으로 실행" 옵션을 사용하여 해당 프로그램을 시작합니다.

원격 기능을 위해 컴퓨터를 구성하는 방법

지원되는 모든 버전의 Windows가 실행되는 컴퓨터는 별다른 구성 없이도 Windows PowerShell에 원격으로 연결하고 원격 명령을 실행할 수 있습니다. 그러나 연결을 수신하고, 사용자가 로컬 컴퓨터에서 로컬 및 원격 사용자 관리 Windows PowerShell 세션("PSSessions")을 만들고 명령을 실행할 수 있게 하려면 컴퓨터에서 Windows PowerShell 원격 기능을 사용하도록 설정해야 합니다.

Windows Server 2012 및 최신 버전의 Windows Server는 기본적으로 Windows PowerShell 원격 기능을 사용할 수 있도록 설정되어 있습니다. 설정이 변경되는 경우 Enable-PSRemoting cmdlet을 실행하여 기본 설정을 복원할 수 있습니다.

지원되는 다른 모든 버전의 Windows에서 Enable-PSRemoting cmdlet을 실행하여 Windows PowerShell 원격 기능을 사용하도록 설정해야 합니다.

Windows PowerShell의 원격 기능은 Microsoft에서 구현한 WS-Management(Web Services for Management) 프로토콜인 WinRM 서비스에 의해 지원됩니다. Windows PowerShell 원격 기능을 사용하도록 설정할 때 WS-Management의 기본 구성을 변경하고 사용자가 WS-Management에 연결할 수 있도록 하는 시스템 구성을 추가합니다.

원격 명령을 수신하도록 Windows PowerShell을 구성하려면

  • 1. "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작합니다.

  • 2. 명령 프롬프트에 다음을 입력합니다. Enable-PSRemoting

원격 기능이 올바르게 구성되었는지 확인하려면 로컬 컴퓨터에서 원격 세션을 만드는 다음 명령과 같은 테스트 명령을 실행합니다.

          New-PSSession

원격 기능이 올바르게 구성되면 명령은 로컬 컴퓨터에서 세션을 만들고 세션을 나타내는 개체를 반환합니다. 출력은 다음 샘플 출력과 유사해야 합니다.

          C:\PS> new-pssession

          Id Name        ComputerName    State    ConfigurationName
          -- ----        ------------    -----    -----
          1  Session1    localhost       Opened   Microsoft.PowerShell

명령이 실패할 경우 도움이 필요하면 about_Remote_Troubleshooting를 참조하세요.

정책 이해

원격으로 작업할 때는 로컬 컴퓨터에서 하나, 원격 컴퓨터에서 하나, Windows PowerShell의 두 인스턴스를 사용하게 됩니다. 그 결과 사용자 작업은 Windows 정책과 로컬 및 원격 컴퓨터의 Windows PowerShell 정책에 의해 영향을 받습니다.

일반적으로 연결하기 전 및 연결을 설정할 때 로컬 컴퓨터의 정책이 적용됩니다. 이 연결을 사용하는 경우 원격 컴퓨터의 정책이 적용됩니다.

참고 항목

about_Remote

about_Remote_Variables

about_PSSessions

Invoke-Command

Enter-PSSession

New-PSSession