about_Remote_Requirements

간단한 설명

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

자세한 설명

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

참고 항목

일부 cmdlet은 원격 컴퓨터 RPC 연결 또는 원격 연결에 대한 WMI 세션에서 개체를 가져옵니다. PowerShell 원격 인프라를 사용하지 않습니다. 이 문서의 요구 사항은 이러한 cmdlet에 적용되지 않습니다.

ComputerName 매개 변수가 있지만 PowerShell 원격을 사용하지 않는 cmdlet을 찾으려면 cmdlet의 ComputerName 매개 변수에 대한 설명을 읽어보세요.

시스템 요구 사항

Windows에서 PowerShell 원격은 WMF(Windows Management Framework)에서 제공하는 WinRM(Windows 원격 관리)을 사용합니다. PowerShell에서 원격 세션을 실행하려면 로컬 및 원격 컴퓨터에 다음이 있어야 합니다.

  • Windows PowerShell 3.0 이상
  • Microsoft .NET Framework 4 이상
  • Windows 원격 관리 3.0 이상

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

  • Windows PowerShell 2.0 이상
  • Microsoft .NET Framework 2.0 이상
  • Windows 원격 관리 2.0

완전히 지원되려면 WMF 5.1을 사용해야 합니다. WMF 지원에 대한 자세한 내용은 WMF(Windows Management Framework)를 참조하세요.

Windows PowerShell 2.0을 실행하는 컴퓨터와 최신 버전의 PowerShell을 실행하는 컴퓨터 간에 원격 세션을 만들 수 있습니다. 그러나 세션의 연결을 끊고 다시 연결하는 기능과 같이 새 버전의 PowerShell에서만 실행되는 기능은 두 컴퓨터가 Windows PowerShell 3.0 이상을 실행하는 경우에만 사용할 수 있습니다.

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

PowerShell 7 이상에서는 SSH를 통해 PowerShell 원격을 지원합니다. SSH를 통해 PowerShell 원격을 사용하면 SSH를 실행하는 모든 Windows, macOS 또는 Linux 호스트에 연결할 수 있습니다. 자세한 내용은 SSH를 통해 PowerShell 원격을 참조하세요.

사용자 권한

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

원격 컴퓨터에서 세션을 만들고 명령을 실행하는 데 필요한 권한은 세션 구성에 의해 설정됩니다. 세션 구성은 원격 컴퓨터의 연결 엔드포인트 에 대한 구성 옵션을 정의합니다. 특히 세션 구성의 보안 설명자는 세션 구성에 액세스할 수 있는 사용자와 세션 구성을 사용하여 연결할 수 있는 사용자를 결정합니다.

기본 세션 구성인 Microsoft.PowerShellMicrosoft.PowerShell32의 보안 설명자는 관리istrators 그룹의 멤버에 대한 액세스만 허용합니다.

컴퓨터의 관리istrators 그룹 구성원은 기본 세션 구성에서 보안 설명자를 변경하거나 다른 보안 설명자를 사용하여 새 세션 구성을 만들어 컴퓨터에 원격으로 연결할 수 있는 권한이 있는 사용자를 결정할 수 있습니다. 사용자는 cmdlet의 *-PSSession ConfigurationName 매개 변수를 사용하여 다른 엔드포인트에 연결할 수 있습니다.

세션 구성에 대한 자세한 내용은 about_Session_Configurations를 참조하세요.

Windows 네트워크 위치

Windows PowerShell 3.0부터 cmdlet은 Enable-PSRemoting 클라이언트 및 서버 버전의 Windows에서 원격을 사용하도록 설정할 수 있습니다.

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

프라이빗 및 do기본 네트워크가 있는 Windows의 클라이언트 버전에서 Enable-PSRemoting 무제한 원격 액세스를 허용하는 방화벽 규칙을 만듭니다.

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

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

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

참고 항목

방화벽 규칙의 이름은 Windows 버전에 따라 다를 수 있습니다. 규칙 목록을 확인하는 데 사용합니다 Get-NetFirewallRule . 방화벽 규칙을 사용하도록 설정하기 전에 규칙의 보안 설정을 확인하여 구성이 사용자 환경에 적합한지 확인합니다.

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

Windows PowerShell 2.0의 클라이언트 버전에서 프라이빗 Enable-PSRemoting 네트워크에만 방화벽 규칙을 만들고 기본. 네트워크 위치가 공용 Enable-PSRemoting 이면 실패합니다.

관리자 권한으로 실행

다음 원격 작업에는 관리istrator 권한이 필요합니다.

  • 로컬 컴퓨터에 대한 원격 연결을 설정합니다. 이를 일반적으로 "루프백" 시나리오라고 합니다.
  • 로컬 컴퓨터에서 세션 구성 관리
  • 로컬 컴퓨터에서 WS-Management 설정 보기 및 변경 WSMAN: 드라이브의 LocalHost 노드에 있는 설정입니다.

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

같은 cmd.exe다른 프로그램에서 Windows PowerShell을 시작할 때 관리자 권한으로 실행 옵션을 사용하여 프로그램을 시작합니다.

원격 작업을 위해 컴퓨터를 구성하는 방법

지원되는 Windows 버전을 실행하는 컴퓨터는 구성 없이 원격 연결을 설정하고 PowerShell에서 원격 명령을 실행할 수 있습니다. 그러나 원격 연결을 받으려면 컴퓨터에서 PowerShell 원격을 사용하도록 설정해야 합니다.

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

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

원격 명령을 받도록 PowerShell을 구성하려면 다음을 수행합니다.

  1. 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 시작합니다.
  2. 명령 프롬프트에 다음을 입력합니다. Enable-PSRemoting

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

New-PSSession

원격이 올바르게 구성된 경우 명령은 로컬 컴퓨터에 세션을 만들고 세션을 나타내는 개체를 반환합니다.

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

명령이 실패하면 about_Remote_Troubleshooting 참조하세요.

정책 이해

원격으로 작업하는 경우 PowerShell 인스턴스 두 개(로컬 컴퓨터와 원격 컴퓨터의 인스턴스)를 사용합니다. 결과적으로 작업은 로컬 컴퓨터와 원격 컴퓨터 모두에서 Windows 및 PowerShell 정책의 영향을 받습니다.

연결하기 전에 연결을 설정하는 동안 로컬 컴퓨터의 정책이 적용됩니다. 연결을 사용하는 경우 원격 컴퓨터의 정책이 적용됩니다.

참고 항목