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