miércoles, 4 de mayo de 2022

Exportar lista de usuarios de un grupo de AD



Cómo exportar todos los usuarios de un grupo de Active Directory.



Imaginemos que queremos enviar un correo a todos los usuarios de un grupo concreto de Active Directory. Primero, deberemos saber qué usuarios hay en el grupo.

Para ver los usuarios y sus direcciones de correo, deberemos exportar los campos nombre y mail de los usuarios. Para ello, podemos usar la función Get-AdGroupMember:

$GroupName = 'Nombre del grupo'
Get-AdGroupMember -Identity $GroupName | Get-AdUser -Properties * | Select Name,Mail

El output del script será:

Name Mail -------------- ----------------- Marc Garcia marc.garcia@una.org Alberto Perez alberto.perez@una.org ...

De esta forma veremos el output en la terminal.

Si queremos exportar el resultado a un archivo csv podemos usar la función Export-csv:

$GroupName = 'Nombre del grupo'
$ExportPath = 'C:\Temp\export.csv'
Get-AdGroupMember -Identity $GroupName | Get-AdUser -Properties * | Select Name,Mail | Export-csv -NoTypeInformation $ExportPath

En este caso, el resultado será un archivo csv con los campos separados por comas:

"Marc García","marc.garcia@una.org" "Alberto Perez","alberto.perez@una.org" ...

Una vez obtenido el archivo csv, ya lo podremos manipular con Excel para extraer solo las direcciones de correo o eliminar ciertos usuarios, entre otros.


Fuentes:

https://shellgeek.com/powershell-export-active-directory-group-members/

miércoles, 6 de abril de 2022

Extraer .crt de un fichero .pfx



Comprobar si un certificado en formato PFX tiene un password asociado.



Si alguien nos envía un fichero .pfx que contiene un certificado generado para ser usado en un servidor Windows, necesitamos extraer la parte pública del certificado (el fichero .crt).


Exportar certificado (IIS)


Abrimos el Microsoft Management Console (mmc).

Ir a File > Add/Remove Snap-in.

Doble clic en Certificates.

Seleccionar Computer account.

Seleccionar Local computer y clic en Finish.

Ir a Console Root > Certificates > Certificate Enrollment Requests.

Clic derecho en el certificado y seleccionar All Tasks > Export.

Selecciona Yes, export the private key.

Selecciona Personal Information Exchange – PKCS #12.

Entra un password para proteger tu private key (obligatorio).

Seleccionar la ubicación dodne guardar la private key.

Clica Finish.

La clave privada se exporta como archivo .pfx.


Extraer .crt del .pfx


Ahora toca extraer el .crt del .pfx. Para ello, podemos usar la utilidad openssl en Windows/Linux:

HOST# openssl pkcs12 -in archivo.pfx -clcerts -nokeys -out archivo.crt

Donde archivo.pfx es el origen y archivo.crt el fichero que se generará.

Ya podemos usar el fichero .crt en nuestro servidor Linux.
0

miércoles, 16 de marzo de 2022

nginx: [emerg] getgrnam("deploy") failed



Cómo cambiar el usuario desde el que se ejecuta NGINX.



Hoy me han pedido que cambie el usuario desde el que se ejecuta nginx de "nginx" a "deploy", y me he encontrado algún problema durante el proceso.

Primero he comentado la línea:

user nginx;

y he añadido la línea:

user deploy;

dentro de /etc/nginx/nginx.conf.

A continuación, he comprobado la validez del fichero de confgiuración con:

HOST:/ # nginx -t nginx: [emerg] getgrnam("deploy") failed in /etc/nginx/nginx.conf:2 nginx: configuration file /etc/nginx/nginx.conf test failed

Tras buscar por internet he encontrado que se debe espcificar el nombre del grupo después del nombre de usuario (con un espacio en blanco entre ellos), es decir:

user usuario grupo;

Si no se especifica el grupo, NGINX toma como nombre de grupo el nombre de usuario.

Para aplicar este cambio de configuración, primero he comprobado su validez:

HOST:/ # nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Acto seguido, he cargado la nueva configuración:

nginx -s reload

Tras este reload, nginx arrojaba un error 500 al navegar por la web, por lo que he optado por reiniciar el servicio nginx por completo:

systemctl restart nginx

Tras reiniciar el servicio, la web ha funcionado con normalidad.
0

miércoles, 24 de noviembre de 2021

Ver fecha de caducidad de un certificado .pfx



Comprobar fecha de expiración de un certificado en formato .pfx.



Para ver la fecha de expiración de un certificado en formato .pfx que hayamos exportado de un servidor Windows, podemos usar la utilidad openssl en Windows/Linux:

HOST# openssl pkcs12 -in archivo.pfx -nokeys | openssl x509 -noout -enddate

Donde archivo.pfx es el nombre del certificado en formato pfx.

Para incluir el password del certificado en la línea de comandos, podemos incluir:

-passin pass:"${pass}"

HOST# openssl pkcs12 -in archivo.pfx -nokeys | openssl x509 -noout -enddate -passin pass:”${pass}”

$pass es la variable que contiene el password.
0

miércoles, 4 de agosto de 2021

Error de Microsoft Teams C0070057



Cómo solucionar el error C0070057 que impide usar Microsoft Teams en Windows".



Al volver de vacaciones, encendí el PC del trabajo y al abrir Teams me encontré con este error:



Tras leer en reddit acerca de este fallo de Windows, lo que hice para solucionarlo fue ir a la opción correo electrónico y cuentas, clicando en el botón inicio y escribiendo "correo":



Cliqué sobre "Agregar una cuenta de trabajo o escuela" e introduje, de nuevo, mi cuenta de correo empresarial, para regenerar el perfil corrupto que provoca el error.

Una vez hecho esto, el pop up con el error dejó de aparecer y Teams volvió a funcionar con normalidad.
1

miércoles, 28 de julio de 2021

Replicar directorios entre 2 servidores Linux



Cómo replicar una estructura de directorios (sin archivos) entre dos servidores Linux.



Puede que necesitemos replicar una estructura de directorios entre 2 servidores Linux y que solo queramos copiar los directorios, no los archivos. En ese caso, podemos usar la herramienta rsync.

Para esta tarea, usaremos las siguientes opciones de rsync:

Copiar los directorios:

-f"+ */"

No copiar los archivos:

-f"- *"

Seguido de la ruta en origen y la ruta en destino:

HOST# rsync -av -f"+ */" -f"- *" /carpeta/ root@destino:/carpeta/

Tras ejecutar el comando anterior, el árbol de carpetas de origen, es decir, la carpeta que hemos indicado y todas sus subcarpetas, se copiarán en destino, sin los archivos que haya en su interior.

El resto de opciones de rsync significan:

-a: archive mode; es como ejecutar las opciones -rlptgoD
-v: mostrar más información por pantalla.

Rescto al parámetro -a / -rlptgoD, singifica:

-r, --recursivo: entra a los subdirectorios
-l, --links: copiar enlaces
-p, --perms: preservar pemisos
-t, --times: preservar marcas de tiempo
-g, --group: el grupo en destino es el mismo que el grupo en origen
-o, --owner: preservar el autor
-D, -devices --specials: transfiere archivos especiales
0