none
Cambiar atributo escritorio remoto RRS feed

  • Pregunta

  • Buenas a tod@s. 

    Soy nuevo en esta comunidad, y espero ser un residente habitual. Para comenzar voy a lanzar una pregunta. Como puedo cambiar la marca "des habilitar" en el atributo de AD de la pestaña ESCRITORIO REMOTO, requiere permisos del usuario, ya que hablamos de 1000 y pico largo. 

    muchas gracias por leerlo y más si eres el que respondes e infinidad de gracias al que tenga la solución. Y por este orden.

    martes, 6 de septiembre de 2016 20:18

Respuestas

  • Hola de nuevo,

    Pués entonces, el script que te puse quedaría así:

    $Error.Clear()
    Clear-Host
    
    $DS = New-Object System.DirectoryServices.DirectorySearcher
    $DS.PageSize = 15000
    $DS.Filter = "(&(objectCategory=person)(objectCategory=User))"
    $DS.SearchRoot = "LDAP://ou=Tu-OU_de_Usuarios,dc=tu_dominio,dc=local" #La OU donde están los usuarios que quieres cambiar
    $ADUsers = $DS.FindAll()
    
    ForEach ($User in $ADUsers)
    {
    	$Props = $null
    	$Props = $User.Properties
    	$Username = $null
    	$Username = $Props.samaccountname
    	$DN = $null
    	$DN = $Props.distinguishedname
    	
    	Write-Host -ForegroundColor DarkRed "Actualizando $Username"
    	Try
    	{
    		$UserDN = [ADSI] "LDAP://$DN" 
                    $UserDN.psbase.invokeSet("EnableRemoteControl","2")
                    $UserDN.setinfo()  
    	}
    	Catch
    	{
    		Write-Output $Error
    	}
    }

    Aún así, mi recomendación es que lo hagas por GPO para sea algo estandar en tu dominio:

    GPO

    Un saludo.

    Diego

    • Propuesto como respuesta Guillermo Delprato [] viernes, 9 de septiembre de 2016 18:33
    • Marcado como respuesta Kanguro0007 viernes, 9 de septiembre de 2016 18:47
    jueves, 8 de septiembre de 2016 10:13

Todas las respuestas

  • Hola Kanguro0007, bienvenido a los foros. Lamentablemente no puedo ayudarte por dos motivos: el primero porque Powershell no es lo que dominio, pero quizás lo más importante es que debes ser más claro para que puedan comprender la situación

    Trata de explicar mejor qué marca quieres "des habilitar", de qué objeto, cómo estás llegando a esa marca, y todos los datos que puedas y que ayuden a comprender

    Por otro lado, sin PowerShell recuerda que en AD puedes hacer búsquedas de objetos, seleccionar todo el resultado, y desde el menú contextual se pueden modificar algunos atributos

    Trata de explicar más datos para que alguien pueda ayudarte :)

     


    Guillermo Delprato
    Buenos Aires, Argentina
    El Blog de los paso a paso

    MVP - MCSE - MCSA2012
    MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory/Network Configuration/Applications Configuration/Server Virtualization/Windows 7 Configuration/Windows 7 & Office 2010 Deployment/Vista Configuration

    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    miércoles, 7 de septiembre de 2016 10:25
  • Hola Kanguro0007:

    Lo primero, bienvenido al foro.

    Como muy bien te dice Guillermo, no queda nada claro en tu pregunta que es exactamente lo que quieres cambiar.

    Creo que te refieres al check de "Control Remoto" para Escritorio Remoto/Terminal Server de "Requerir el permiso del usuario", pero tendrás que aclararlo.

    Lo primero que tienes que plantearte es si cambiarlo en los usuarios es la mejor opción, ya que estas configuraciones puedes definirlas tanto en la conexión de Terminal Server como por GPO para todos los usuarios de tu dominio.

    A mi entender, la mejor opción es por GPO:

    • Configuración de usuario -> Plantillas Administrativas -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections

    Ahí puedes definir las opciones de control remoto.

    Aún así, si por algún motivo quieres hacerlo mediante script directamente a los usuarios (ten en cuenta que los nuevos usuarios que crees tendrás que ponerlo a mano mientras que por GPO ya estaría definido automáticamente), el script que necesitas sería algo así:

    $Error.Clear()
    Clear-Host
    
    $DS = New-Object System.DirectoryServices.DirectorySearcher
    $DS.PageSize = 15000
    $DS.Filter = "(&(objectCategory=person)(objectCategory=User))"
    $DS.SearchRoot = "LDAP://ou=Tu-OU_de_Usuarios,dc=tu_dominio,dc=local" #La OU donde están los usuarios que quieres cambiar
    $ADUsers = $DS.FindAll()
    
    ForEach ($User in $ADUsers)
    {
    	$Props = $null
    	$Props = $User.Properties
    	$Username = $null
    	$Username = $Props.samaccountname
    	$DN = $null
    	$DN = $Props.distinguishedname
    	
    	Write-Host -ForegroundColor DarkRed "Actualizando $Username"
    	Try
    	{
    		$UserDN = [ADSI] "LDAP://$DN" 
            $UserDN.psbase.invokeSet("Propiedad_Que_Quieres_Cambiar",$False) #Aquí tienes que poner el nombre de la propiedad a cambiar.
            $UserDN.setinfo()  
    	}
    	Catch
    	{
    		Write-Output $Error
    	}
    }

    En el script falta por poner el nombre de la propiedad que quieres cambiar, y debes definir la OU donde están tus usuarios y tu nombre de dominio.

    Este script leería todos los usuarios de la OU que le indiques y asignaría la propiedad que pongas como "False", es decir, deshabilitada.

    Espero que te sirva.

    Un saludo.

    Diego


    miércoles, 7 de septiembre de 2016 11:05
  • Buenas y gracias por las respuestas siempre positivas, creo que he comenzado con mal pie en el foro. Voy a intentar ser lo más claro posible. Me lanzo...

    S.O: Windows 2008 R2

    Inicio -> Ejecutar -> dsa.msc (Usuarios y Equipos de Active Directory) -> Dominio -> OU (Prueba) -> Usuario (Usuario) -> botón derecho -> Propiedades -> Control remoto -> Desmarcar "Requerir el permiso del usuario". Pues bien seria desmarcarlo en 1400 Usuarios y unas 90 Unidades organizativas, por lo que quiero hacerlo con PowerShell.

     

    Muchas gracias por las respuestas y si es otra más a la solución unas cañejas.


    miércoles, 7 de septiembre de 2016 19:00
  • Hola de nuevo,

    Pués entonces, el script que te puse quedaría así:

    $Error.Clear()
    Clear-Host
    
    $DS = New-Object System.DirectoryServices.DirectorySearcher
    $DS.PageSize = 15000
    $DS.Filter = "(&(objectCategory=person)(objectCategory=User))"
    $DS.SearchRoot = "LDAP://ou=Tu-OU_de_Usuarios,dc=tu_dominio,dc=local" #La OU donde están los usuarios que quieres cambiar
    $ADUsers = $DS.FindAll()
    
    ForEach ($User in $ADUsers)
    {
    	$Props = $null
    	$Props = $User.Properties
    	$Username = $null
    	$Username = $Props.samaccountname
    	$DN = $null
    	$DN = $Props.distinguishedname
    	
    	Write-Host -ForegroundColor DarkRed "Actualizando $Username"
    	Try
    	{
    		$UserDN = [ADSI] "LDAP://$DN" 
                    $UserDN.psbase.invokeSet("EnableRemoteControl","2")
                    $UserDN.setinfo()  
    	}
    	Catch
    	{
    		Write-Output $Error
    	}
    }

    Aún así, mi recomendación es que lo hagas por GPO para sea algo estandar en tu dominio:

    GPO

    Un saludo.

    Diego

    • Propuesto como respuesta Guillermo Delprato [] viernes, 9 de septiembre de 2016 18:33
    • Marcado como respuesta Kanguro0007 viernes, 9 de septiembre de 2016 18:47
    jueves, 8 de septiembre de 2016 10:13
  • Buenas y muchas gracias

    Ya tienes las cervezotas cuando quieras :-). Lo he probado de ambas formas en un entorno de Preproducción pero continuo viendo el siguiente mensaje, que es lo que quiero quitar. Incluyendo GPupdate. No puedo pegar fotos, hasta que verifiquen mi cuenta...

    Te resumo el mensaje en la sesión del usuario:

    dominio\Admin desea conectarse a este equipo.

    Haga clic en Aceptar para desconectar esta sesión de inmediato o haga clic en Cancelar para permanecer conectado.

    De lo contrario esta sesión se desconectara en 30 segundos.

    Si tienes o tenéis alguna solución.. soy todo ojos para revisar y comprobar que funciona.

    Nuevamente muchas gracias.

    Luis Adán

    jueves, 8 de septiembre de 2016 17:31
  • Hola,

    ¿Pero si vas a la ficha del usuario el check está marcado o desmarcado?

    Si está desmarcado y sigue pidiendo permiso hay varias opciones:

    • Tienes una política de dominio (GPO) que indica que requiere permiso.
    • En la definición de la conexión de Terminal Server está indicado que requiere permiso.
    • Lo has probado contra una sesión que ya estaba iniciada ántes de quitar el check.
    • Lo has probado "tan rápido" después de quitar el check que no se había replicado la información al dominio todavía.
    • No estás intentando hacer control remoto de una sesión de Terminal Server, sino conectarte a un equipo de escritorio que ya tiene una sesión iniciada (el check que estamos desactivando no es para "conectar" a un equipo, sino para ver/manejar la sesión de otro usuario que ya está conectado, y siempre en sesiones de Terminal Server, no de equipos de escritorio).

    Comprueba estas opciones a ver si localizamos el problema.

    Un saludo.

    Diego

    viernes, 9 de septiembre de 2016 7:42
  • Hola Luis Adán, veo que sigues "peleando" con el tema :)

    Entiendo que lo que estás buscando es poder ver o tomar control remoto sobre una máquina para hacer soporte ¿es eso?

    Si es así, y sin meterme con scripts que ya estás recibiendo buena ayuda, yo he mostrado el tema pero usando GPOs, quizás te convenga darle una mirada

    Windows Server: Control Remoto para Soporte | WindowServer:
    https://windowserver.wordpress.com/2015/05/12/windows-server-control-remoto-para-soporte/

    Si es necesario hacerlo sobre sesiones de Escritorio Remoto entonces revisa

    Remote Desktop – “Shadow Session” de Escritorio Remoto para Administración | WindowServer:
    https://windowserver.wordpress.com/2015/09/08/remote-desktop-shadow-session-de-escritorio-remoto-para-administracin/ 

     


    Guillermo Delprato
    Buenos Aires, Argentina
    El Blog de los paso a paso

    MVP - MCSE - MCSA2012
    MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory/Network Configuration/Applications Configuration/Server Virtualization/Windows 7 Configuration/Windows 7 & Office 2010 Deployment/Vista Configuration

    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    viernes, 9 de septiembre de 2016 10:21
  • Muchas gracias Diego, y el problema era: (resuenan tambores)....

    Lo has probado contra una sesión que ya estaba iniciada ántes de quitar el check, al cerrar sessión y volver abrir se aplico la GPO y fin de la historia.

    Muchas gracias, esas cañas cuando quieras.

    viernes, 9 de septiembre de 2016 16:38