Evita que el equipo reciba comandos remotos de Windows PowerShell.

Sintaxis

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

Descripción

La función Disable-PSRemoting deshabilita todas las configuraciones de sesión en el equipo local agregando a sus descriptores de seguridad una entrada para denegar todo. Esto evita que el equipo local reciba comandos remotos.

Disable-PSRemoting no detiene el servicio WinRM. Tampoco evita que los usuarios del equipo local establezcan sesiones que se conectan a equipos remotos ni que envíen comandos a otros equipos.

Para volver a habilitar las configuraciones de sesión, se utiliza el cmdlet Enable-PSRemoting o Enable-PSSessionConfiguration.

Para ejecutar esta función en Windows Vista, Windows Server 2008 y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opción "Ejecutar como administrador".

Parámetros

-Force

Suprime todas las confirmaciones de usuario. De forma predeterminada, se le solicitará que confirme cada operación.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

False

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si se ejecutara el comando sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno

No se pueden canalizar entradas a este cmdlet.

Salidas

Ninguno

Este cmdlet no devuelve objetos.

Notas

Una configuración de sesión es un grupo de opciones que define el entorno para una sesión. Las configuraciones de sesión se encuentran en el equipo remoto y las utilizan las sesiones locales y remotas que se conectan al equipo.

Cada sesión que se conecta al equipo debe utilizar una de las configuraciones de sesión que están registradas en el equipo. Esto también se aplica a las sesiones persistentes que se crean mediante el cmdlet New-PSSession o Enter-PSSession así como a las sesiones temporales creadas por Windows PowerShell cuando se usa el parámetro ComputerName de un cmdlet que utiliza la tecnología de comunicación remota basada en WS-Management, como Invoke-Command. Denegando el acceso a todas las configuraciones de sesión se evita de manera eficaz que los usuarios establezcan sesiones que se conectan al equipo.

Disable-PSRemoting es el equivalente de "Disable-PSSessionConfiguration -name *.

Ejemplo 1

C:\PS>disable-psremoting

Descripción
-----------
Este comando deshabilita todas las configuraciones de sesión en el equipo.






Ejemplo 2

C:\PS>disable-psremoting -force

Descripción
-----------
Este comando deshabilita todas las configuraciones de sesión en el equipo sin pedir confirmación.






Ejemplo 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

Descripción
-----------
En este ejemplo, se muestra el efecto de utilizar Disable-PSRemoting.

El primer comando utiliza Disable-PSRemoting para deshabilitar todas las configuraciones de sesión registradas en el equipo local.

El segundo comando utiliza New-PSSession para crear una sesión remota que se conecta al equipo local (también denominada "bucle invertido"). Al estar deshabilitadas las configuraciones de sesión que la sesión requiere, se produce un error en el comando.

El tercer comando utiliza el cmdlet New-PSSession para crear una sesión desde el equipo local en el equipo remoto Server01. Este comando, que utiliza las configuraciones de sesión en el equipo remoto, se ejecuta correctamente. 

El cuarto comando utiliza el cmdlet Enable-PSSessionConfiguration para volver a habilitar todas las configuraciones de sesión en el equipo local. El comando utiliza el valor * (todos) en el parámetro Name. 

El quinto comando vuelve a intentar establecer una sesión de bucle invertido mediante el cmdlet New-PSSession. Esta vez, el comando se ejecuta correctamente porque se la configuración de sesión que necesita sí está habilitada.






Ejemplo 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

Descripción
-----------
En este ejemplo se muestra el efecto del uso de Disable-PSRemoting y Enable-PSRemoting en las configuraciones de sesión.

El primer comando utiliza la función Disable-PSRemoting para deshabilitar todas las configuraciones de sesión registradas. El parámetro Force suprime todas las confirmaciones de usuario.

El segundo comando usa el cmdlet Get-PSSessionConfiguration para mostrar las configuraciones de sesión registradas en el equipo. El comando utiliza un operador de canalización para enviar los resultados a un comando Format-Table, que muestra en una tabla solamente las propiedades Name y Permission de las configuraciones.

En la tabla resultante se muestra que se ha denegado el permiso de acceso a las configuraciones a todos los usuarios.

El tercer comando usa el cmdlet Enable-PSRemoting para volver a habilitar todas las configuraciones de sesión en el equipo. También se puede utilizar un comando "Enable-PsSessionConfiguration -name *". El comando utiliza el parámetro Force para suprimir todas las confirmaciones de usuario y reiniciar el servicio WinRM sin pedir confirmación.

El cuarto comando utiliza Get-PSSessionConfiguration y Format-Table para mostrar los nombres y permisos de las configuraciones de sesión. Los resultados muestran que los miembros del grupo Administradores ahora sí tienen acceso a las configuraciones de sesión.






Vea también




Tabla de contenido