홈페이지 » 어떻게 » 원격 컴퓨터에서 PowerShell 명령을 실행하는 방법

    원격 컴퓨터에서 PowerShell 명령을 실행하는 방법

    PowerShell Remoting을 사용하면 원격 Windows 시스템에서 PowerShell 명령을 실행하거나 전체 PowerShell 세션에 액세스 할 수 있습니다. 다른 운영 체제에서 원격 터미널에 액세스하는 경우 SSH와 유사합니다..

    PowerShell은 기본적으로 잠김 상태이므로 PowerShell Remoting을 사용하려면 먼저 PowerShell Remoting을 활성화해야합니다. 이 설정 프로세스는 도메인 대신 작업 그룹 (예 : 홈 네트워크)을 사용하는 경우 다소 복잡합니다. 그러나 여기에 대해 설명하겠습니다..

    원격으로 액세스하려는 PC에서 PowerShell Remoting 사용

    첫 번째 단계는 원격 연결을하려는 PC에서 PowerShell Remoting을 사용하는 것입니다. 해당 PC에서 관리자 권한으로 PowerShell을 열어야합니다..

    Windows 10에서는 Windows + X를 누른 다음 고급 사용자 메뉴에서 PowerShell (관리자)을 선택하십시오..

    Windows 7 또는 8에서는 시작을 누른 다음 "powershell"을 입력합니다. 결과를 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 선택합니다.

    PowerShell 창에서 다음 cmdlet (명령의 PowerShell 이름)을 입력 한 다음 Enter 키를 누릅니다.

    Enable-PSRemoting -Force

    이 명령은 WinRM 서비스를 시작하고 시스템에서 자동으로 시작되도록 설정하며 들어오는 연결을 허용하는 방화벽 규칙을 만듭니다. 그만큼 -힘 일부 cmdlet은 PowerShell에 각 단계를 묻지 않고 이러한 작업을 수행하도록 지시합니다.

    당신의 PC가 도메인의 일부라면, 그것은 당신이해야만하는 모든 설정입니다. 연결 테스트를 건너 뛸 수 있습니다. 컴퓨터가 가정이나 소규모 기업 네트워크에있는 작업 그룹에 속해 있다면 할 일이 조금 더 많습니다.

    참고 : 도메인 환경에서의 원격 설정 성공은 전적으로 네트워크의 설정에 달려 있습니다. Remoting은 관리자가 구성한 그룹 정책에 의해 자동으로 비활성화되거나 활성화 될 수 있습니다. PowerShell을 관리자 권한으로 실행하는 데 필요한 권한이 없을 수도 있습니다. 항상 이와 같이 시도하기 전에 관리자와 확인하십시오. 그들은 연습을 허락하지 않는 좋은 이유가있을 수도 있고, 당신을 위해 기꺼이 그것을 설정할 수도 있습니다..

    작업 그룹 설정

    컴퓨터가 도메인에 없으면 몇 가지 단계를 수행하여 설정해야합니다. 이전 섹션에서 설명한대로 연결하려는 PC에서 Remoting을 이미 활성화해야합니다..

    참고 : PowerShell Remoting이 작업 그룹 환경에서 작동하려면 네트워크를 공용이 아닌 개인 네트워크로 구성해야합니다. 차이점에 대한 자세한 내용 - 이미 공용 네트워크를 설정 한 경우 개인 네트워크로 변경하는 방법 - 개인 네트워크와 공용 네트워크에 대한 가이드를 확인하십시오..

    그런 다음 연결하려는 PC와 TrustedHosts 설정을 구성해야합니다.  연결하려는 PC (또는 PC)를 선택하면 컴퓨터가 서로 신뢰하게됩니다. 두 가지 방법 중 하나로이 작업을 수행 할 수 있습니다..

    계속 진행하고 원격으로 연결할 수있는 PC를 신뢰하려는 가정용 네트워크를 사용하는 경우 PowerShell에서 다음 cmdlet을 입력 할 수 있습니다 (다시 말해 관리자로 실행해야 함).

    세트 항목 wsman : \ localhost \ client \ trustedhosts *

    별표는 모든 PC의 와일드 카드 기호입니다. 대신 연결할 수있는 컴퓨터를 제한하려면 별표를 쉼표로 구분 된 승인 된 PC의 IP 주소 또는 컴퓨터 이름 목록으로 바꿀 수 있습니다.

    이 명령을 실행 한 후에는 새 설정이 적용되도록 WinRM 서비스를 다시 시작해야합니다. 다음 cmdlet을 입력하고 Enter 키를 누릅니다.

    다시 시작 서비스 WinRM

    그리고 연결하려는 PC뿐만 아니라 연결하려는 PC에서도이 두 cmdlet을 실행해야합니다..

    연결 테스트

    이제 PowerShell Remoting 용으로 PC를 설치 했으므로 이제 연결을 테스트 할 차례입니다. 원격 시스템에 액세스하려는 PC에서 다음 cmdlet을 PowerShell에 입력하고 ( "COMPUTER"를 원격 PC의 이름 또는 IP 주소로 바꾸십시오) Enter 키를 누릅니다.

    Test-WsMan 컴퓨터

    이 간단한 명령은 WinRM 서비스가 원격 PC에서 실행 중인지 여부를 테스트합니다. 성공적으로 완료되면 WinRM이 활성화되어 있고 PC가 통신 할 수 있음을 나타내는 원격 컴퓨터의 WinRM 서비스에 대한 정보가 창에 표시됩니다. 명령이 실패하면 대신 오류 메시지가 표시됩니다..

    단일 원격 명령 실행

    원격 시스템에서 명령을 실행하려면 Invoke-Command cmdlet에 다음 구문을 사용합니다.

    Invoke-Command -ComputerName COMPUTER -ScriptBlock COMMAND -credential USERNAME

    "COMPUTER"는 원격 PC의 이름 또는 IP 주소를 나타냅니다. "COMMAND"는 실행할 명령입니다. "사용자 이름"은 원격 컴퓨터에서 명령을 실행하려는 사용자 이름입니다. 사용자 이름의 비밀번호를 입력하라는 메시지가 표시됩니다..

    여기에 예제가 있습니다. IP 주소가 10.0.0.22 인 원격 컴퓨터에서 C : \ 디렉터리의 내용을보고 싶습니다. 나는 "wjgle"이라는 사용자 명을 사용하기를 원하기 때문에 다음 명령을 사용한다.

    Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C : \ -credential wjgle

    원격 세션 시작

    Invoke-Command cmdlet 및 원격 IP 주소를 반복적으로 입력하는 대신 원격 PC에서 실행하려는 여러 cmdlet이있는 경우 대신 원격 세션을 시작할 수 있습니다. 다음 cmdlet을 입력하고 Enter 키를 누릅니다.

    Enter-PSSession -ComputerName COMPUTER -Credential USER

    다시 말하지만 "COMPUTER"를 원격 PC의 이름 또는 IP 주소로 바꾸고 "USER"를 호출 할 사용자 계정의 이름으로 대체하십시오.

    프롬프트가 변경되어 연결된 원격 컴퓨터를 나타내며 원격 시스템에서 직접 여러 PowerShell cmdlet을 실행할 수 있습니다.