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