miércoles, abril 02, 2025

SSO SAML google como federeacion de identidad office 365

Install-Module Microsoft.Graph -Scope CurrentUser

Get-InstalledModule Microsoft.Graph

Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

Install-Module MSOnline

Import-Module MSOnline

Connect-MsolService

$domainName = "midominio.co"

[xml]$idp = Get-Content <metadata-xml-file-path>

$activeLogonUri = "https://login.microsoftonline.com/login.srf"

$signingCertificate = ($idp.EntityDescriptor.IDPSSODescriptor.KeyDescriptor.KeyInfo.X509Data.X509Certificate | Out-String).Trim()

$issuerUri = $idp.EntityDescriptor.entityID

$logOffUri = $idp.EntityDescriptor.IDPSSODescriptor.SingleSignOnService.Location[0]

$passiveLogOnUri = $idp.EntityDescriptor.IDPSSODescriptor.SingleSignOnService.Location[0]


Set-MsolDomainAuthentication -DomainName $domainName -FederationBrandName $domainName -Authentication Federated -PassiveLogOnUri $passiveLogOnUri -ActiveLogOnUri $activeLogonUri -SigningCertificate $signingcertificate -IssuerUri $issuerUri -LogOffUri $logOffUri -PreferredAuthenticationProtocol "SAMLP"


Set-MsolDomainAuthentication -DomainName $domainName -Authentication Managed

importante actualizar el inmutable id para todos los usuarios de lo contrario no podrán iniciar sesión

1. descargar los uaurios de: https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers

2. ejecutar en powershell

$user_file =import-csv "C:\descargas\exportUsers.csv"

$user_file | ForEach-Object { Set-MsolUser -UserPrincipalName $_.Userprincipalname -ImmutableId $_.Userprincipalname}

Set-MsolUser -UserPrincipalName prueba@midominio.co -ImmutableId prueba@midominio.co


https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers

https://login.microsoftonline.com/login.srf

miércoles, julio 03, 2024

moodle error Adhoc task failed: core_course\task\course_delete_modules

El error  

Execute adhoc task: core_course\task\course_delete_modules

Adhoc task id: 37005
Adhoc task failed: core_course\task\course_delete_modules,Coding error detected, it must be fixed by a programmer: The course module 114997 could not be deleted. Invalid course module ID: 114997:

Identificando los modulos y el curso

SELECT T1.*, T2.name Modulo, T2.cron Cron FROM mdl_course_modules T1 inner join mdl_modules as T2 on T1.module = T2.id where T1.deletioninprogress = 1 order by T1.module; select * from mdl_modules where id = 37005;


desde cli moodle *=course_id

 php admin/cli/fix_course_sequence.php -c=* --fix




domingo, junio 23, 2024

drush en drupal

Drush es una herramienta de línea de comandos indispensable para la administración de sitios web Drupal. Su versatilidad la convierte en una aliada clave para tareas como actualizaciones del core, instalación de plugins y automatización de procesos. En este tutorial, te guiaremos paso a paso en la instalación de Drush en un sistema RedHat Linux, utilizando el método de instalación desde consola.

Requisitos previos:

  • Conocimiento básico de la línea de comandos de Linux.
  • Acceso a un servidor RedHat Linux con permisos de superusuario (root).

Pasos de instalación:

  1. Instalar PEAR:

    PEAR (PHP Extension and Application Repository) es un administrador de paquetes para extensiones PHP. Drush requiere PEAR para su instalación. Ejecuta el siguiente comando para instalarlo:

    Bash
    sudo yum install php-pear
  2. Agregar el canal Drush a PEAR:

    Para que PEAR pueda reconocer Drush, es necesario agregar el canal oficial de Drush. Utiliza el siguiente comando:

    Bash
    pear channel-discover pear.drush.org
  3. Instalar Drush:

    Una vez agregado el canal, procede a instalar Drush con el siguiente comando:

    Bash
    pear install drush/drush

    Este comando descargará e instalará Drush en tu sistema.

  4. Crear un enlace simbólico:

    Para facilitar el acceso a Drush desde cualquier directorio, crea un enlace simbólico en el directorio /usr/local/bin. Ejecuta el siguiente comando:

    Bash
    sudo ln -s /usr/local/share/pear/drush/drush /usr/local/bin/drush
  5. Verificar la instalación:

    Para confirmar que Drush se ha instalado correctamente, ejecuta el siguiente comando:

    Bash
    drush --version

    Si la instalación fue exitosa, verás la versión de Drush instalada en tu sistema.

Consejos adicionales:

  • Actualización de Drush:

    Para mantener Drush actualizado a la última versión, puedes utilizar el siguiente comando:

    Bash
    pear upgrade drush/drush
  • Uso de Drush:

    Para obtener más información sobre el uso de Drush, consulta la documentación oficial: https://docs.drush.org/.

Beneficios de usar Drush:

  • Automatización de tareas: Drush permite automatizar tareas repetitivas en la administración de sitios web Drupal, ahorrando tiempo y esfuerzo.
  • Gestión eficiente de múltiples sitios: Drush facilita la gestión de múltiples sitios web Drupal desde un único lugar.
  • Actualizaciones simplificadas: Drush simplifica el proceso de actualización del core de Drupal y sus módulos.
  • Instalación rápida de plugins: Drush permite instalar plugins de Drupal de manera rápida y sencilla.

Casos de uso de Drush:

  • Actualizar el core de Drupal:

    Bash
    drush up
  • Instalar un plugin:

    Bash
    drush dl [nombre_del_plugin]
  • Crear una copia de seguridad de la base de datos:

    Bash
    drush sql-dump
  • Deshabilitar un módulo:

    Bash
    drush dis [nombre_del_módulo]
    
  • Eliminar un caché:

    Bash
    drush cc all

Conclusión:

Drush es una herramienta invaluable para cualquier administrador de sitios web Drupal. Su facilidad de uso, versatilidad y capacidad de automatización la convierten en una herramienta esencial para optimizar la gestión de tu sitio web. Con este tutorial detallado, has adquirido las bases para instalar y utilizar Drush en tu sistema RedHat Linux. Explora la amplia gama de comandos disponibles y aprovecha al máximo el potencial de esta poderosa herramienta.

Eliminar archivos duplicados en MAC OS con czkawka una evolución de fslint

 


https://blog.desdelinux.net/czkawka-aplicacion-sencilla-rapida-eliminar-archivos-linux/



Wordpress cambiar de dominio

luego de restaurar la base de datos es importante  reemplazar las url en cada una de las tablas

existe un complemento llamado Better Search Replace, en caso de no poder instalar complementos se pueden ejecutar las siguientes sentencias en la base de datos.


UPDATE wp_posts 

SET guid = replace(guid, 'midominio.com','nuevo.com');


UPDATE wp_posts 

SET post_content = replace(post_content,  'midominio.com','nuevo.com');

 

UPDATE wp_postmeta 

SET meta_value = replace(meta_value, 'midominio.com','nuevo.com');



https://soluciontextil.com

Configurar arranque seguro windows 10 y fedora 38



Para configurar un arranque dual seguro entre Windows 10 y Fedora 38, sigue estos pasos:

Tener instalado Windows 10 y Fedora 38 en particiones separadas en tu disco duro.

Configurar el arranque dual:

Inicia tu computadora y asegúrate de arrancar en Windows 10.

Abre el "Administrador de discos" en Windows 10. Puedes hacerlo presionando la combinación de teclas "Win + X" y seleccionando "Administrador de discos".


Configurar el gestor de arranque de Fedora
Reinicia tu computadora e inicia desde el medio de instalación de Fedora 38 (USB o DVD).

Selecciona "Instalar Fedora" en el menú de inicio.

Sigue los pasos del instalador hasta llegar a la sección de particionado.

Elige la opción de "Personalizado" para la configuración de particiones.

Selecciona la partición donde instalaste Fedora 38 y haz clic en el botón "Editar".

En la ventana de edición de particiones, establece el punto de montaje ("/") y marca la casilla "Formatear".

Haz clic en "Guardar cambios" y continúa con la instalación de Fedora 38.


Configurar el gestor de arranque GRUB:

Después de completar la instalación de Fedora 38, reinicia tu computadora.

Ahora deberías ver el gestor de arranque GRUB, que te permite elegir entre Windows 10 y Fedora 38.

Selecciona Fedora 38 en el gestor de arranque GRUB.

Configurar el arranque dual seguro:

Una vez que hayas iniciado sesión en Fedora 38, abre una terminal.

Ejecuta el siguiente comando para actualizar GRUB y detectar Windows 10:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg


Reinicia tu computadora y deberías ver la opción para seleccionar Windows 10 o Fedora 38 en el gestor de arranque GRUB.

Con estos pasos, habrás configurado un arranque dual seguro entre Windows 10 y Fedora 38 en tu computadora.

sábado, junio 22, 2024

virtualbox montar disco físico en maquina virtual

VBoxManage internalcommands createrawvmdk \

-rawdisk /dev/sdb \

-filename /home/backup/.VirtualBox/HardDisks/hddbk.vmdk

viernes, mayo 19, 2023

redimencionar SWAP LVM en linux

Si la  partición swap está sobre un volumen lógico podrá ser redimensionada sin reiniciar el sistema en tan solo unos pasos.

You will need additional free space to be able to expand it or you can possibly shrink another volume or add another physical disk into your volume group.

1. # grep swap /etc/fstab

/dev/VolGroup00/LogVol01 swap swap defaults 0 0

2. Run the lvdisplay to see the size of your logical volume.

# lvdisplay /dev/VolGroup00/LogVol01
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID AZ143-B8kp-z9KV-JYtG-N997-JOQ6-ETaJaJ
LV Write Access read/write
LV Status available
# open 1
LV Size 4096.00 MB
Current LE 24
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:1

3. To resize an LVM you need to unmount it, or in this case turn swap off.
# swapoff /dev/VolGroup00/LogVol01

4. To resizing the volume to add 1 GB (assuming you have the space to extend into) use the lvresize command.
# lvresize /dev/VolGroup00/LogVol01 -L +1G
Extending logical volume LogVol01 to 5 GB
Logical volume LogVol01 successfully resized

5. Next turn swap back on.
# swapon /dev/VolGroup00/LogVol01
# free -m
total used free shared buffers cached
Mem: 16384 13343 3042 0 48 120
-/+ buffers/cache: 174 201
Swap: 5120 0 5120

6. If you encounter an issue trying to mount swap, repeat step 3.
# swapoff /dev/VolGroup00/LogVol01
After that, run
# mkswap /dev/VolGroup00/LogVol01

7. After mkswap completes, repeat step 5.
# swapon /dev/VolGroup00/LogVol01

8. Validate the swap space again by running free -m.

sábado, julio 17, 2021

Caso resuelto: Migración exitosa de Windows XP a una nueva partición

Caso resuelto: Migración exitosa de Windows XP a una nueva partición

Escenario inicial:

Un equipo presentaba dos instalaciones de Windows XP:

  • Disco C: Instalación dañada e inoperante.
  • Disco D: Instalación funcional con aplicaciones y configuraciones.

Objetivo:

Eliminar la instalación dañada en el disco C y mover la instalación funcional del disco D al disco C, preservando todas las aplicaciones y configuraciones.

Solución paso a paso:

  1. Redimensionamiento de particiones:

    • Se evaluaron dos opciones:
      • Igual tamaño: Ambas particiones quedarían del mismo tamaño.
      • Destino más grande: La partición de destino (disco C) debía ser más grande que la de origen (disco D).
    • En este caso, la partición de destino (disco C) ya era más grande que la de origen (disco D).
  2. Creación de una imagen del sistema operativo:

    • Se utilizó la herramienta gratuita y de código abierto SystemRescue Live CD.
    • Se creó una imagen de 30 GB (tamaño de la instalación de Windows XP en el disco D) en un disco externo.
  3. Formateo y restauración de la imagen:

    • Se formateó la partición del disco C (previo respaldo de datos en C y D).
    • Se restauró la imagen creada en la partición del disco C utilizando Partimage.
  4. Reparación del arranque:

    • Se accedió a la consola de recuperación de Windows XP en el disco C.
    • Se ejecutó el comando FIXMBR para reparar el registro de arranque maestro.
    • Se copiaron los archivos ntldr y ntdetect.com del disco D al disco C.
  5. Actualización del registro:

    • Se requería indicar al registro que los archivos del sistema se encontraban en el disco C (en lugar del disco D).
    • Debido a la complejidad de hacerlo manualmente, se utilizó un editor de registro que permite buscar y reemplazar.

Resultado:

Se logró eliminar la instalación dañada de Windows XP en el disco C y mover la instalación funcional del disco D al disco C, conservando todas las aplicaciones y configuraciones. El sistema operativo arranca y funciona correctamente desde el disco C.

Reflexiones:

  • La planificación y el respaldo de datos son cruciales antes de realizar cualquier modificación en las particiones del disco duro.
  • Existen herramientas gratuitas y de código abierto que pueden ser de gran utilidad para la administración de sistemas operativos.
  • Es importante contar con conocimientos básicos en el uso de la consola de comandos y el registro de Windows.

Recomendaciones:

  • Se recomienda mantener una copia de seguridad actualizada del sistema operativo para casos de emergencia.
  • Es aconsejable utilizar herramientas especializadas para la administración de particiones de disco duro.
  • Se debe tener precaución al editar el registro de Windows, ya que errores en este proceso pueden afectar gravemente al sistema operativo.



Hace algunos días me encontré con un equipo el cual tenía un sistema operativo mal instalado
el cuadro inicial fue el siguiente
dos instalaciones de Windows XP
una en disco c la cual estaba inservible
otra en disco d la cual estaba operando.

El problema 

Principalmente radica en que los archivos de programa como estaban siendo usados, es así como algunas aplicaciones se encontraban instaladas en C:\Archivos de programa y otras en D:\Archivos de programa

Ahora el Objetivo

Se me contrato para eliminar este inconveniente y dejar solo la instalación de Windows XP que estaba operando, con todas sus aplicaciones y configuraciones de manara intacta, lo cual significaba eliminar la vieja y dañada instalación Windows XP en disco1 unidad C y mover todo el sistema operativo al disco D (lo cual resulto mas fácil de lo previsto).

Para lograr mover el sistema operativo de una partición a otra primero tuve que re-dimensionar las particiones, lo cual se puede hacer de dos maneras.

Dejar las dos particiones del mismo tamaño.
La partición destino debe se mas grande que la partición de origen, en este caso el disco C debe ser mas grande que el disco D.

Yo sabía que la solución era crear una imagen del sistema operativo actual y luego volcarla a la partición C, luego restaurar el arranque y listo debería funcionar.

Buscando en la red encontré una herramienta freeware y open source, el live cd systemrescue
con este live CD y su herramienta Partimage logre hacer una imagen en un disco externo de unos 30Gb que es lo que ocupaba la instalación de Windows XP en el disco D, luego procedí a dar formato a la partición en disco C (antes de hacer estos cambio realizar un buen backup de todo tanto C como D), y con Partimage restaure la imagen creada pero esta vez en la unidad C, ahora solo faltaba reparar el arranque, lo cual se puede hacer desde la consola de recuperación de Windows XP

C:\Windows teclear FIXMBR y pulsar Intro.
Copiar dos archivos ntldr y ntdetect en nuestro disco duro.
copy D:\i386\ntldr C:\
copy D:\i386\ntdetect.com C:\

Y listo lastimosamente no fue tan fácil, para poder eliminar la partición D hay que indicarle al registro que los archivos se encuentran en C: y no en D: lo cual se podría hacer manualmente pero te tardarías años por lo cual buscando en la red encontré un editor de registro que permite buscar y reemplazar.

miércoles, julio 14, 2021

Configurando llaves ssh en git bash windows 10

 Editar el archivo .ssh ubicado en la carpeta del usuario C:\Users\CuentaUsuario\.ssh

Host ApodoServidor1
HostName IP/Domain
User UserName
Port 22
IdentitiesOnly=yes
PreferredAuthentications publickey
PasswordAuthentication no
# CMD
IdentityFile C:\Users\CuentaUsuario\.ssh\PrivateKeyName
# BASH
IdentityFile /c/Users/CuentaUusuario/.ssh/PrivateKeyName


Host ApodoServidor2
HostName IP/Domain
User xxx
Port 22
IdentitiesOnly=yes
PreferredAuthentications publickey
PasswordAuthentication no
# CMD
IdentityFile C:\Users\CuentaUsuario\.ssh\PrivateKeyName2
# BASH
IdentityFile /c/Users/CuentaUusuario/.ssh/PrivateKeyName2


Probar desde git Bash

ssh -T UserName@ApodoServidor1

ssh -T UserName@ApodoServidor1