Archivos de la categoría: Windows

Configurar IP en linea de comandos

Hola Mundo:

Feliz año nuevo a todos. Parto este año con una ayuda de memoria y escribiendo el post 500 de la
historia del blog.
El siguiente artículo trata sobre cómo configurar una interfaz de red a través de la línea de comandos. Esta modalidad es muy útil para cuando necesitemos configurar parámetros de red en entornos Windows PE, como es el caso de la distribución de sistemas operativos en ambientes que no tienen. DHCP y se tiene que ir al servidor WDS o SCCM a buscar la imagen.
Sin más preámbulo, empecemos.

Antes de partir hay que conocer cuáles son las interfaces disponibles en el equipo

El mount Netsh interface show interface nos dará la información de todas las interfaces de red que tiene el equipo. Tomar nota del elemento que está en Nombre interfaz.
El comando para configurar la red debe seguir la sintaxis: netsh interface ip set address “NOMBRE INTERFAZ” static IP MASCARA GATEWAY 
Este comando sirve para configurar una ip estática. Para DHCP, cambiar static por DHCP y borrar el resto.
Sin DNS configurado no es posible resolver el nombre del servidor. Este comando debe seguir la siguiente sintaxis:
Netsh interface ip add dns “NOMBRE INTERFAZ” DNS validate=no
Si acceden a revisar la configuración verán los parámetros configurados.
Feliz 2020.

Cargar drivers a Boot Image de SCCM

Hola mundo.
Los que trabajamos con SCCM, especialmente en la distribución de sistemas operativos, mas de alguna vez hemos tenido que lidiar con controladores de red.
Pongamos en contexto. Una boot image es un entorno de Windows PE que tiene cargado scripts encargados de la distribución y captura de sistemas operativos. Para ambos propósitos este entorno requiere de conexión con la instalación de SCCM.
Cuando la conexión no se realiza, es necesario agregar el controlador de red necesario.

Esto se realiza yendo al apartado de Drivers dentro del apartado de Operating Systems.
Dentro del elemento, ir a Import Driver

En el asistente, indicar la opción de Import all drivers in the following network path (UNC). Esta opción agregará todos los controladores encontrados en esta ruta en red.

El asistente recorrerá de forma recursiva el directorio y detectará los controladores. Esta operación puede durar algunos minutos, dependiendo de la cantidad de controladores.
En esta pantalla, se seleccionan los controladores que se van a importar. Por ejemplo, si vamos a trabajar con imágenes de 64 bits, quitar las de 32 bits. 
Está la opción de agregarlos a un paquete de controladores. Esta opción es útil si estamos distribuyendo sistemas operativos y la instalación de Windows requiere de controladres. En este caso vamos a crear un paquete.
Para la creación del paquete hay que indicar el nombre, comentarios y la ruta UNC donde se almacenará el paquete de controladores.
Una vez creado, podemos avanzar. 
Este paso el más importante. Consiste en agregar los controladores importados en un boot image. En este caso trabajaremos solamente con la imagen de 64 bits. Se selecciona la primera opción.
SCCM nos alerta la necesidad de reconstruir el boot image para poder utilizarlo. Dejaremos que SCCM se ocupe de ellos. Para eso, seleccionamos Yes.
Lo más habitual es agregar controladores de red o de almacenamiento. SCCM nos alerta que hay controladores que no forman parte de esa categoría. Seleccionamos Yes.

Resumen de los controladores que se van a agregar.
Ejecución del proceso. Toma su tiempo.

Finalización del proceso.

Si revisamos los controladores en las propiedades del boot image, encontraremos todos los controladores que fueron agregados. 

Espero que se de utilidad.
Hasta la próxima

SCCM OSD, UEFI y Secure Boot: Conviviendo con los tres

Hola Mundo:

Hace algunos años atrás apareció UEFI con la promesa de modernizar el proceso de arranque de los sistemas operativos y ser una mejor interfaz entre el usuario y el firmware del equipo. 
Uno de los componentes importantes que incluye UEFI es Secure Boot.

Secure Boot protege a la máquina de arranques de sistemas operativos infectados. Básicamente valida que todo lo que se vaya arrancar y a escribir sea legítimo. No olvidar que existe software malicioso que infecta el arranque del sistema operativo, para que cuando inicie la interfaz del usuario ya esté infectado y sea más invisible al antivirus del equipo.
El esquema, explica claramente que luego de iniciar el arranque del sistema operativo, se hace una revisión con software antimalware. En el caso que exista algún problema, intenta repararse solo.
¿Cómo afecta esto a la distribución de sistemas operativos con SCCM? Junto con la aparición de UEFI, SCCM también se subió al carro y comenzó a soportar la distribución de sistemas operativos a máquinas que soportan UEFI. 
La misma herramienta es capaz de creas las particiones necesarias para el funcionamiento (recordar que no usa MBR y que no necesita de una partición reservada de sistema).
El problema se puede presentar al momento de instalar la imagen que se descarga desde el servidor. Al momento de comenzar a aplicarla, dará error. 
Si revisan con calma el log, verán que no puede escribir el registro de arranque.
¿Por qué? Porque Secure Boot lo impide.
Entonces, cuando vayan a distribuir algún sistema de esta forma, lo más seguro es que tengan que deshabilitar Secure Boot.
Otra opción es deshabilitar UEFI y usar BIOS.

Espero que les sirva.

Usar variables de entorno en VBScript

Hola Mundo:

A pesar que VBScript lleva unos añitos ya en el mercado y en las versiones modernas de Windows se
ha potenciado el uso de Powershell como herramienta de scripting y automatización, VBScript se niega a morir. Se aferra a la vida a como dé lugar y muchas organizaciones lo mantienen vivo utilizándolo diariamente para la aplicación de configuraciones.

Las variables de entorno no son algo nuevo en Windows. Se arrastran desde hace varios años. Se pueden consultar desde una ventana de cmd,  a través del comando set

Esas son las mías 🙂 
Desde un script en batch se pueden llamar y usar sin ningún problema. Un claro ejemplo:

Pero desde VBScript hay que tener un cierto cuidado. Hay que crear un objeto del tipo WShell.Script y llamar al método expandEnvironmentStrings. Veamos un ejemplo.

Si quisiera usar la variable de entorno %userprofile% (como el ejemplo de arriba), tendría que hacer lo siguiente

dim userprofile

dim objWShell

set objWShell = wScript.createObject("WShell.Script")

userprofile = objWShell.expandEnvironmentStrings("%userprofile%")

Con eso ya estamos listos para usar la variable userprofile.
Espero que les sirva.

Chau!