OSDBuilder - sevioptero/Windows_info GitHub Wiki

Contenido:


Actualización de catálogos

OSDBuilder utiliza a OSDSUS para gestionar los catálogos, por lo que antes de empezar a trabajar lo actualizaremos con:

Update-OSDSUS

Instalación y mantenimiento de OSDBuilder

Instalación

Install-Module -Name OSDBuilder -Force
Import-Module -Name OSDBuilder -Force

Nota:
Antes de poder ejecutar el módulo deberemos habilitar la ejecución de scripts.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Después de instalarlo debemos cerrar PowerShell e iniciarlo de nuevo para que no dé errores.
Referencia:

Desinstalación

Para desinstalar el módulo.

Uninstall-Module OSDBuilder -AllVersions -Force

Actualización

Si ya lo tenemos instalado, para actualizar a la última versión el módulo y los catálogos:

OSDBuilder -Update

Después de una actualización debemos cerrar PowerShell e iniciarlo de nuevo para que no dé errores.
Referencia:

Establecer ubicación de carpetas

Podemos establecer la ubicación en la que se almacenarán todos los directorios y archivos generados por OSBuilder.
Con el parámetro -CreatePaths se crearán tambien los directorios.

Get-OSDBuilder -SetPath E:\OSBuilder -CreatePaths

Referencia:

Comprobación

Una vez instalado, para comprobar el estado (si hay nuevas versiones del módulo o de los catálogos).
Si tenemos la última versión esta nos aparecerá en color verde.

Get-OSDBuilder

Referencia:

OSMedia

Importar un OSMedia

Hay que importar un sistema operativo para usarlo con OSDBuilder. Para ello montamos una ISO original de Windows y lanzamos el siguiente comando (en este caso para importar la edición Education). Si no se indica el parámetro se nos pregunta cuál queremos importar.

Import-OSMedia -EditionId Education

Se escanearán las unidades y nos mostrará una lista con los que haya encontrado. Seleccionamos el que queramos importar. Si una ISO tiene varias ediciones podemos seleccionar varias a la vez. Tras pulsar Ok se inicia el proceso de importación.

Importar una edición concreta sin que pregunte cuál.

Import-OSMedia -EditionId Education -SkipGrid

Descarga de actualizaciones

Para ver las actualizaciones disponibles para un OSMedia:

Update-OSMedia

Si se muestran actualizaciones disponibles pero aparecen como Missing es que no están descargadas.

Si añadimos el parámetro -Download se descargarán las actualizaciones, pero aun no se instalarán.

Update-OSMedia -Download

Si además añadimos el parámetro -Execute se descargarán las actualizaciones y se instalarán.

Update-OSMedia -Download -Execute

Referencia:

Añadir versión actualizada de OneDrive

OSDBuilder -Download OneDrive

Referencia:

Actualizar un OSMedia

Cuando tenemos las actualizaciones descargadas podemos aplicarlas al OSMedia.

Update-OSMedia -Execute

Si no están todas las actualizaciones descargadas se deshabilitará la execución.

Si añadimos el parámetro -Download se descargarán todas las actualizaciones que falten antes de iniciar el proceso de actualización del OSMedia.

Update-OSMedia -Download -Execute

Tareas

Creación de una nueva tarea

Las tareas permiten aplicar personalizaciones a un OSMedia existente.

Ejemplos de tareas:

Eliminar aplicaciones Appx

Para crear una tarea que elimine todas o varias aplicaciones Appx que vienen aprovisionadas en la imagen de Windows.

  1. Ejecutamos el comando
    New-OSBuildTask -TaskName 'Eliminar Appx' -RemoveAppx
    
  2. Nos preguntará por el OSMedia al que se debe aplicar. Lo seleccionamos de la lista.
  3. Nos mostrará una lista de las aplicaciones aprovisionadas en la que seleccionaremos las que queremos que se eliminen.

Habilitar .Net Framework 3.5

  1. Ejecutamos el comando
    New-OSBuildTask -TaskName 'Habilitar NetFx3' -EnableNetFX3
    
  2. Nos preguntará por el OSMedia al que se debe aplicar. Lo seleccionamos de la lista.

Eliminar aplicaciones Appx y habilitar .Net Framework 3.5

Para crear una tarea que elimine todas o varias aplicaciones Appx que vienen aprovisionadas en la imagen de Windows y habilitar .Net Framework 3.5.

  1. Ejecutamos el comando
    New-OSBuildTask -TaskName 'Eliminar Appx y habilita NetFX' -RemoveAppx -EnableNetFX3
    
  2. Nos preguntará por el OSMedia al que se debe aplicar. Lo seleccionamos de la lista.
  3. Nos mostrará una lista de las aplicaciones aprovisionadas en la que seleccionaremos las que queremos que se eliminen.

Añadir controladores

  1. Ejecutamos el comando
    New-OSBuildTask -TaskName 'Integrar controladores' -ContentDrivers
    
  2. Nos preguntará por el OSMedia al que se debe aplicar. Lo seleccionamos de la lista.
  3. Luego nos preguntará la carpeta de controladores que deberá estar en OSBuilder\Content\Drivers.

Las dos tareas anteriores se pueden hacer en un solo paso.

New-OSBuildTask -TaskName 'Sin APPx. Habilitar NetFx3. Drivers' -EnableNetFX3 -RemoveAppx -ContentDrivers

Añadir un diseño de Menú inicio personalizado

Creamos un layout personalizado.

New-OSBuildTask -TaskName 'Nombre de la tarea' -ContentStartLayout

Al crear el SO nos preguntará por el archivo de la tarea.

Referencia:

Crear un nuevo sistema operativo

Una vez tenemos todo a nuestro gusto creamos el sistema operativo, que incluirá todas nuestras personalizaciones.
Si queremos que se añadan controladores a la imagen de Windows (por ejemplo de tarjetas de red no soportadas por Windows) debemos copiarlos en la carpeta OSBuilder\Content\Drivers.

Validación

Primero validamos todo mediante el comando:

New-OSBuild

Si hubiera actualizaciones pendiente de aplicar o descargar nos lo diría en este punto.

Lo solucionamos con el comando:

New-OSBuild -Download

Creación

Cuando ya tenemos todo listo iniciamos la creación.

New-OSBuild -Execute

Una vez creado se copiará en OSBuilder\OSBuilds.

Podemos hacer que cree una imagen ISO una vez finalizado el proceso añadiendo el parámetro -OSDISO.

New-OSBuild -Execute -Download -OSDISO

Refrencia:

Creación de medios de instalación

Creación de una imagen ISO

Una vez creado podemos crear una ISO.

New-OSBMediaISO

Referencia:

Resolver problemas

Si durante el proceso de los archivos se produce un error algún archivo WIM podría quedar montado y luego nos dará error al intentar lanzar otra vez el script. Se debería solucionar así:

Get-WindowsImage -Mounted | Dismount-WindowsImage -Discard

Enlaces