다음을 통해 공유


Disable-PSRemoting

컴퓨터가 원격 Windows PowerShell 명령을 받지 못하게 합니다.

구문

Disable-PSRemoting [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]

설명

Disable-PSRemoting 함수는 로컬 컴퓨터에 있는 모든 세션 구성의 보안 설명자에 "모두 거부" 항목을 추가하여 세션 구성을 사용하지 않도록 설정합니다. 이렇게 하면 로컬 컴퓨터가 원격 명령을 수신하지 않습니다.

Disable-PSRemoting은 WinRM 서비스를 중지하지 않으며 로컬 컴퓨터의 사용자가 원격 컴퓨터에 연결하는 세션을 설정하거나 명령을 다른 컴퓨터로 보내지 않도록 합니다.

세션 구성을 다시 설정하려면 Enable-PSRemoting 또는 Enable-PSSessionConfiguration cmdlet을 사용합니다.

Windows Vista 및 Windows Server 2008 이상 버전에서 이 함수를 실행하려면 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 열어야 합니다.

매개 변수

-Force

모든 사용자 확인 메시지를 표시하지 않습니다. 기본적으로 각 작업에 대한 확인 메시지가 표시됩니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Confirm

명령을 실행하기 전에 확인 메시지를 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

입력을 이 cmdlet으로 파이프할 수 없습니다.

출력

없음

이 cmdlet은 어떠한 개체도 반환하지 않습니다.

참고

세션 구성은 세션의 환경을 정의하는 설정 그룹입니다. 세션 구성은 원격 컴퓨터에 있으며 컴퓨터에 연결하는 로컬 세션과 원격 세션에서 사용됩니다.

컴퓨터에 연결하는 모든 세션은 컴퓨터에 등록된 세션 구성 중 하나를 사용해야 합니다. 이러한 세션에는 New-PSSession 또는 Enter-PSSession cmdlet을 사용하여 만드는 영구 세션과 WS-Management 원격 기술을 사용하는 Invoke-Command와 같은 cmdlet의 ComputerName 매개 변수를 사용하는 경우 Windows PowerShell에서 만드는 임시 세션이 포함됩니다. 모든 세션 구성에 대한 액세스를 거부하면 모든 사용자가 컴퓨터에 연결하는 세션을 설정할 수 없습니다.

Disable-PSRemoting은 "Disable-PSSessionConfiguration -name *과 동일합니다.

예 1

C:\PS>disable-psremoting

설명
-----------
이 명령은 컴퓨터의 모든 세션 구성을 사용하지 않도록 설정합니다.





예 2

C:\PS>disable-psremoting -force

설명
-----------
이 명령은 확인 메시지를 표시하지 않고 컴퓨터의 모든 세션 구성을 사용하지 않도록 설정합니다.





예 3

C:\PS>disable-psremoting -force

C:\PS> new-pssession -computername localhost

[localhost] Connecting to remote server failed with the following error
message : Access is denied. For more information, see the about_Remote_Troub
leshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionOpenFailed


C:\PS> new-pssession -computername Server01

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   Server01...     Opened   Microsoft.PowerShell     Available


C:\PS> enable-pssessionConfiguration -name * -force

C:\PS> new-pssession -computername localhost

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   localhost       Opened   Microsoft.PowerShell     Available

설명
-----------
이 예에서는 Disable-PSRemoting을 사용했을 때의 결과를 보여 줍니다.

첫 번째 명령은 Disable-PSRemoting을 사용하여 로컬 컴퓨터에 등록된 모든 세션 구성을 사용하지 않도록 설정합니다.

두 번째 명령은 New-PSSession을 사용하여 로컬 컴퓨터에 대한 원격 세션을 만듭니다("루프백"이라고도 함). 세션에 필요한 세션 구성이 사용되지 않으므로 명령이 실패합니다.

세 번째 명령은 New-PSSession cmdlet을 사용하여 로컬 컴퓨터에서 Server01 원격 컴퓨터로의 세션을 만듭니다. 이 명령은 원격 컴퓨터의 세션 구성을 사용하므로 성공합니다. 

네 번째 명령은 Enable-PSSessionConfiguration cmdlet을 사용하여 로컬 컴퓨터의 모든 세션 구성을 다시 사용하도록 설정합니다. 이 명령은 Name 매개 변수에 *(모두) 값을 사용합니다. 

다섯 번째 명령은 New-PSSession cmdlet을 사용하여 다시 루프백 세션을 설정하려고 합니다. 이번에는 필요한 세션 구성을 사용할 수 있으므로 명령이 성공합니다.





예 4

C:\PS>disable-psremoting -force

C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 Everyone AccessDenied, BUILTIN\Administrators AccessAllowed

C:\PS> enable-psremoting -force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.

C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

설명
-----------
이 예에서는 Disable-PSRemoting 및 Enable-PSRemoting을 사용했을 때 세션 구성에 미치는 영향을 보여 줍니다.

첫 번째 명령은 Disable-PSRemoting 함수를 사용하여 등록된 모든 세션 구성을 사용하지 않도록 설정합니다. force 매개 변수는 모든 사용자 확인 메시지를 표시하지 않습니다.

두 번째 명령은 Get-PSSessionConfiguration cmdlet을 사용하여 컴퓨터에 등록된 세션 구성을 표시합니다. 이 명령이 파이프라인 연산자를 사용하여 결과를 Format-Table 명령으로 보내면 Format-Table 명령이 구성의 Name 및 Permission 속성만 테이블에 표시합니다.

결과 테이블에는 모든 사용자의 구성 사용 권한이 거부되었다고 표시됩니다.

세 번째 명령은 Enable-PSRemoting cmdlet을 사용하여 컴퓨터의 모든 세션 구성을 다시 사용하도록 설정합니다. "Enable-PsSessionConfiguration -name *" 명령을 사용할 수도 있습니다. 이 명령은 Force 매개 변수를 사용하여 모든 사용자 확인 메시지를 표시하지 않고 확인 메시지 없이 WinRM 서비스를 다시 시작합니다.

네 번째 명령은 Get-PSSessionConfiguration 및 Format-Table을 사용하여 세션 구성의 이름과 사용 권한을 표시합니다. 결과에는 이제 Administrators 그룹의 멤버가 세션 구성에 액세스할 수 있다고 표시됩니다.





참고 항목

개념

Enable-PSRemoting
Disable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider