8. Gestión de usuarios en PowerShell


  • Características
    • Cuenta de usuario
    • Listas de control de acceso
    • Control de cuentas de usuario
    • Ejecutar como
    • Perfil de usuario
    • Directivas de grupo
  • Usuarios
    • Ver o listar usuarios
    • Crear usuarios
    • Cambiar contraseña a un usuario
    • Modificar usuario
    • Eliminar usuario
    • Utilizar credenciales
  • Grupos
    • Ver o listar grupos
    • Crear grupos
    • Añadir usuarios a grupos
    • Eliminar usuarios de grupos
    • Eliminar grupos

Los sistemas operativos actuales se pueden utilizar por uno o varios usuarios, en algunos sistemas pueden hacerlo simultáneamente y en otros no. Los usuarios se pueden crear localmente o en red, la gestión de usuarios locales sólo afecta al equipo desde el que se crean, modifican, eliminan, etc. Los usuarios locales sólo sirven para iniciar sesión o acceder a recursos en el propio equipo, en cambio los usuarios en red pueden iniciar sesión en cualquier equipo de la red.

En la mayoría de los sistemas operativos, las personas que los utilizan necesitan autentificarse mediante una cuenta de usuario y, además, tener autorización para utilizar recursos como, por ejemplo, un archivo, una carpeta, un dispositivo, etc. Cuando hablamos de recursos, nos referimos a un elemento del sistema operativo que se puede controlar.

Características

Las principales características que están relacionadas con la gestión de usuario y grupos son:

  • Cuenta de usuario

La cuenta de usuario consiste en un nombre de usuario y una contraseña (password), en algunos sistemas operativos estos dos elementos forman un conjunto de credenciales y sirven para identificar a una persona.

Utilizar contraseñas es un método para autentificarse, pero no es el único, hay otros métodos como, por ejemplo, el uso de tarjetas inteligentes que tiene la identidad grabada.

Los usuarios tienen distintos privilegios y restricciones, el usuario que más privilegios tiene es el administrador.

Ver cuentas de usuarios en el sistema

  • Listas de control de acceso

Para utilizar recursos se requiere tener autorización, cada recurso tiene una lista donde aparecen los usuarios que pueden usar dicho recurso, estas listas se conocen como ACL (Access Control List, o Lista de control de acceso).

El funcionamiento es el siguiente: cuando un usuario intenta acceder a un recurso, éste comprueba en la lista de control de acceso si el usuario tiene permiso o no para utilizarlo. La lista de control de acceso se compone de identificadores de seguridad (SID, Security IDentifier) y permisos.

Los identificadores de seguridad son unos valores únicos de longitud variable que se utilizan para identificar a usuarios y grupos.

Ver el SID de un usuario

  • Control de cuentas de usuario

Esta característica de seguridad informa a los usurarios mediante mensajes sobre los cambios que se realizan en el equipo, las notificaciones se pueden configurar y pueden ser las siguientes:

  • Notificar siempre. Notifica mediante un mensaje cuando un programa intenta instalar algo o realizar cambios en el equipo. También notifica si se realizan cambios en la configuración de Windows. Cuando se produce una notificación, el escritorio se atenúa (el escritorio permanece bloqueado y no se puede realizar ninguna acción).
  • Predeterminado. Notifica cuando un programa intenta realizar cambios en el equipo atenuando el escritorio.
  • Notificar cuando un programa intenta realizar cambios en el escritorio sin atenuar el escritorio.
  • No notificar nunca los cambios que se realizan en el equipo.

Las notificaciones son distintas dependiendo del tipo de usuario que haya iniciado la sesión, en el caso de ser administrador, se solicita aceptar o denegar; si es un usuario normal, se solicitan las credenciales del administrador (usuario y contraseña).

  • Ejecutar como

Iniciar sesión con credenciales de administrador puede suponer un riesgo para la seguridad del sistema operativo y de la red (en el caso de que el ordenador forme parte). El riesgo se debe a que los usuarios administradores pueden realizar cualquier tipo de cambio en el sistema y puede darse el caso de que el administrador ejecute un programa dañino para el sistema como, por ejemplo, un virus, por este motivo, es recomendable iniciar sesión con usuarios no administradores.

En PowerShell se pueden ejecutar cmdlets como administrador mediante el parámetro -Verb y el valor runAs


Ejemplo

Iniciar Windows PowerShell como administrador


También se pueden ejecutar los cmdlet con los credenciales de otros usuarios con el cmdlet


Ejemplos

Almacenar credenciales en una variable

Utilizar credenciales para ver la versión de la BIOS


  • Perfil de usuario

Los perfiles de usuario definen entornos de escritorio personalizados, en ellos se incluye la configuración de cada usuario como, por ejemplo, la configuración de la pantalla, las conexiones de red y de impresoras, otras configuraciones especificadas, etc. El usuario o el administrador del sistema pueden definir las características del entorno del escritorio. La personalización del entorno de escritorio efectuada por un usuario no afecta a la configuración del resto de los usuarios.

Cuando los usuarios inician de nuevo la sesión en sus estaciones de trabajo, reciben la configuración de escritorio que tenían al terminar la última sesión.

Los perfiles de usuario se pueden ver utilizando la siguiente llamada WMI


Ejemplo

Ver la ruta de los perfiles de usuario


Ejercicio

Ver la última hora de acceso al perfil de usuario


En PowerShell se puede configurar el perfil que se utiliza cuando se inicia una sesión de consola o cuando se inicia PowerShell_ISE.


Ejemplo

Cargar un mensaje de bienvenida en el perfil de usuario en PowerShell


  • Directivas de grupo

Las directivas permiten a los administradores configurar el sistema operativo, estas configuraciones se pueden hacer en local o en red, en este apartado sólo veremos las locales. En general las directivas modifican el registro de Windows.

En el caso de PowerShell la configuración de directivas de grupo se realiza en los Windows Server.

Usuarios

Las personas que quieren utilizar un sistema operativo necesitan disponer de un nombre de usuario y una contraseña.

Los usuarios deberían ser únicos e individuales aunque a veces no es así, esto conlleva un importante riesgo de seguridad porque no se identifica correctamente a los usuarios dentro del sistema.

Para crear un usuario es necesario tener permisos especiales, no todos los usuarios pueden crear otros usuarios.

A la hora de crear un usuario hay que seguir algunas normas que facilitarán recordar los nombres y llevar un correcto control.

Cuando se instala el sistema operativo Windows se crean cuentas por defecto que van a permitir utilizarlo, son las siguientes:

  • Cuenta de administrador. Tiene control total sobre el sistema operativo y puede realizar tareas como crear otras cuentas de usuarios, asignar permisos, ejecutar, instalar, borrar, etc. Esta cuenta se tiene que utilizar sólo en momentos puntuales. Una recomendación es mantener la cuenta con una contraseña segura, también cambiarle el nombre, pues el nombre que la cuenta utiliza por defecto es demasiado conocido.
  • Cuenta de invitado. Es una cuenta que pueden utilizar los usuarios que no tienen una cuenta en el sistema operativo, esta cuenta tiene restringida la instalación de programas o hardware, así como cambiar cualquier configuración o contraseña. Esta cuenta está desactivada por defecto, es necesario activarla para poder utilizarla.

Como hemos dicho, el usuario administrador puede hacer de todo mientras que el usuario limitado tiene ciertas restricciones, puede, por ejemplo, ejecutar programas que ha instalado el administrador, pero él no puede instalarlos, tampoco tiene acceso a los archivos de otros usuarios.

Además de las cuentas que vienen instaladas por defecto en el sistema operativo, también se pueden crear otras cuentas. Los usuarios pueden ser administradores o usuarios limitados.


Ejemplo

Ver el usuario actual que ha iniciado sesión


Las operaciones con usuarios son tareas de administración que sólo pueden ser realizadas por usuarios administradores.

Las operaciones que se pueden realizar con los usuarios son:

  • Ver o listar usuarios

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Get-LocalUser

Mediante ADSI (Active Directory Service Interfaces)

Mediante WMI (Windows Management Instrumentation)

También se pueden ver usuarios en equipos remotos mediante


Ejemplos

Ver nombre de usuarios que hay en el sistema

Seleccionar SID de los usuarios

Contar el número de usuarios

Buscar un nombre de usuario en la lista de usuarios


Ejercicio

Verificar si existe un usuario


  • Crear usuarios

Mediante cmdlets

Para crear un usuario es necesario hacerlo como administrador y no hay que olvidar poner contraseña

Parámetros y alias de los parámetros para el cmdlet New-LocalUser

Mediante ADSI

El tema de la contraseña es importante y no se puede poner contraseñas que sea sencillo adivinar.

Para generar contraseñas seguras desde PowerShell podemos utilizar el siguiente código


Ejemplo

Crear un usuario local con contraseña


  • Cambiar contraseña a un usuario

Mediante cmdlets

Mediante ADSI

  • Modificar usuario

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Set-LocalUser

Mediante ADSI

  • Eliminar usuario

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Remove-LocalUser

Mediante ADSI

  • Utilizar credenciales

Almacenar credenciales

Cmdlet

Parámetros y alias de los parámetros para el cmdlet Get-Credential


Ejemplo

Almacenar credenciales en un fichero XML

Utilizar credenciales almacenados


Ejercicios

Almacenar varios credenciales en un fichero

Almacenar y utilizar credenciales mediante JSON


Grupos

Un grupo es un conjunto de usuarios que simplifica la administración y la asignación de permisos, concediendo permisos sobre recursos a todo un grupo de usuarios a la vez, en lugar de concederlos a cuentas de usuarios individuales. Los usuarios pueden pertenecer o no pertenecer a uno o varios grupos distintos.

En Windows los usuarios se pueden asociar en grupos y de esta forma se pueden asignar permisos para el acceso a determinados recursos. Los grupos locales predeterminados se crean automáticamente al instalar el sistema operativo.

La pertenencia a un grupo local supone para el usuario tener los permisos y la capacidad de realizar diversas tareas en el equipo local. Los grupos que por defecto se crean al instalar el sistema operativo son:

  • Administradores. Los miembros de este grupo tienen control total del equipo, pueden asignar permisos a los usuarios según sea necesario.
    Operadores de copia de seguridad. Los miembros de este grupo pueden hacer copias de seguridad, aunque los permisos de las carpetas que se van a copiar no lo permitan.
  • Operadores criptográficos. Los miembros de este grupo pueden realizar operaciones criptográficas.
  • Usuarios COM distribuido. Los miembros de este grupo pueden iniciar, activar y usar objetos COM distribuidos.
  • Invitados. Los miembros de este grupo disponen de un perfil temporal que se crea al iniciar la sesión y que se elimina cuando el miembro la cierra. La cuenta Invitado (que está deshabilitada de forma predeterminada) también es miembro del grupo de forma predeterminada.
  • Usuarios. Los miembros del grupo Usuarios pueden realizar tareas habituales, como ejecutar aplicaciones, usar impresoras locales y de red, y bloquear el equipo. Los miembros de este grupo no pueden compartir directorios ni crear impresoras locales.
  • Otros grupos. IIS_IUSRS, Operadores de configuración de red, Usuarios del registro de rendimiento, Usuarios del monitor de sistema, Usuarios avanzados, Usuarios de escritorio remoto, etc.

Las operaciones con usuarios son tareas de administración que sólo pueden ser realizadas por usuarios administradores. Las operaciones que se pueden realizar con los usuarios son:

  • Ver o listar grupos

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Get-LocalGroup

Mediante ADSI (Active Directory Service Interfaces)

Mediante WMI (Windows Management Instrumentation)


Ejemplos

Ver nombre de grupos que hay en el sistema

Contar el número de grupos

Buscar un nombre de usuario en la lista de usuarios


  • Crear grupos

Mediante cmdlets

Para crear un grupo es necesario hacerlo como administrador

Parámetros y alias de los parámetros para el cmdlet New-LocalGroup

Mediante ADSI

  • Añadir usuarios a grupos

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Add-LocalGroupMember

Mediante ADSI

  • Eliminar usuarios de grupos

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Remove-LocalGroupMember

Mediante ADSI

  • Eliminar grupos

Mediante cmdlets

Parámetros y alias de los parámetros para el cmdlet Remove-LocalGroup

Mediante ADSI