Error al actualizar Windows 10 1511

Hola a todos:

Me encuentro trabajando distribuyendo, a través de System Center Configuration Manager, paquetes de actualizaciones para que suban de versión las máquinas con Windows 10.

El problema se presenta en las máquinas Windows 10 1511 al intentar distribuirles un paquete de actualización. Arroja un error particular:
“OnSearchComplete – Failed to end search job. Error = 0x80240fff.”
El error se puede encontrar en los log WUAHandler.log y UpdatesDeployment.log

Este error se presenta cuando las máquinas con Windows 10 1511 no han instalado el update de junio del 2017  (KB4022714).
Se puede descargar desde el siguiente link: https://www.catalog.update.microsoft.com/Search.aspx?q=KB4022714 

Este se puede distribuir como un paquete normal de actualización, o bien, como un paquete cualquiera.
Luego de la instalación del update y posterior reinicio, será posible aplicar la actualización.

Espero que les sirva.

Recomendaciones para la administración de logs de IIS

Hola Mundo
Internet Information Services es el servidor de aplicaciones incluido como rol dentro de Windows Server, que otros roles y plataformas utilizan para poder dar servicios a la red en la que están inmersos. 
Cada transacción genera una entrada en el registro de log de IIS. Estos registros contienen con precisión el quién, qué, dónde, cuándo y cómo de la transacción. En sistemas altamente concurrentes, el tamaño de los log puede volverse inmanejable. 
 Es altamente aconsejable tener en vista el crecimiento del directorio , con alguna herramienta de monitoreo, o bien, revisando periódicamente con alguna herramienta para estos fines, como WinDirStat (herramienta de terceros gratuita). 

%SystemDrive%inetpubLogFiles

 Para poder tener un mayor control para el posterior análisis, se recomienda partir configurando en IIS:

  • Centralized Binary Logging. Esta configuración permite preservar los recursos de memoria, disminuyendo la cantidad de archivos de log. Manejando un único archivo de datos no formateados. 
  • Crear archivos separados para los distintos sitios web y aplicaciones. Limitar la cantidad de campos que se registran. Registrar solo lo estrictamente necesario. 

 A nivel de sistema de archivos también se pueden hacer cambios en el tratamiento del directorio de logs y es comprimiendo el directorio. Esto se consigue con privilegios de administración sobre el sistema y entrando a las propiedades avanzadas del directorio. Habilitando la compresión, el volumen del directorio será de solo un 2% del tamaño original. Almacenar los log en un directorio remoto es una buena forma, pero hay que considerar el alto trabajo de la red y recursos externos para el correcto funcionamiento.  Recordar que son sistemas intensivos en el uso de recursos. 
 Cuando la administración no es adecuada, el directorio crece y es necesario eliminarlos directamente desde el directorio. La operación no requiere detener el servicio. Se recomienda partir eliminando los más antiguos. 
 La administración y el monitoreo correcto de los log de IIS aseguran la continuidad operativa del sistema en general y ayuda al cuidado de los recursos de disco del servidor. Si se quiere ir más allá, siempre es una opción hacer inteligencia sobre los archivos de log con alguna solución de Big Data.

Obtener los contenedores donde se descubren equipos

¡Qué belleza que desde cierto año en adelante todos los productos de Microsoft se administran desde la consola de Powershell!

Esto da muchas prestaciones al momento de obtener información, realizar otro tipo de tareas administrativas no soportadas desde la administración gráfica o automatizar procesos.

Yendo al contexto, SCCM trabaja sobre Active Directory para el descubrimiento de usuarios, grupos y equipos. El descubrimiento específico para equipos se llama Active Directory System Discovery y, según la configuración aplicada, se ejecuta siguiendo una agenda y hace el descubrimiento en contenedores y unidades organizativas.

El listado de OU descubiertas se puede obtener directamente desde la consola, pero en un formato que no es exportable. Se torna complejo saber cuáles son cuando ya son un número considerable.

La solución está en hacerlo desde Powershell de SCCM. Primero que todo, hay que iniciar una sesión en el Powershell de SCCM.
Usar el siguiente script, asumiendo que el codigo de CLP y el servidor es MI-SCCM

PS CLP:> $ADDiscovery = Get-CimInstance -ComputerName "MI-SCCM" -Namespace "rootSMSsite_CLP" -ClassName SMS_SCI_Component -Filter 'ComponentName="SMS_AD_SYSTEM_DISCOVERY_AGENT"'

PS CLP:> $ADContainerProp = $ADDiscovery.PropLists | Where-Object {$_.PropertyListName -eq 'AD Containers'}

PS CLP:> $ADContainerProp.Values

De esta forma, se obtendrá un listado en texto plano en Powershell para usarlo como se estime conveniente.

Espero que sea de utilidad.

Hasta la proxima entrega.

Ejecutar acciones en clientes SCCM de forma remota

Hola Mundo:
En implementaciones de SCCM para la administración de estaciones de trabajo es necesario realizar

refresco de políticas de algunas máquinas cliente antes del tiempo agendado de refresco.

Me explico. Por defecto, todas las máquinas conversan con el servidor de administración (MP) una vez cada 60 minutos. Estos minutos se empiezan a contar cuando se instala el agente, por lo que no todos los agentes sincronizan al mismo tiempo.
A través de la máquina local del cliente se puede forzar la ejecución del refresco de políticas de máquina, que alteraría el normal tiempo de refresco. 
Para efectos de pruebas y distribución de algún paquete es necesario hacerlo, pero supone un problema darle las indicaciones al usuario para que el lleve a cabo la acción, o bien, intentar conectarse a su máquina e interrumpirlo en sus labores, también es un problema.
Afortunadamente, SCCM y sus agentes funcionan sobre WMI para la ejecución de sus procesos y recolección de información. Teniendo esto asumido, ya podemos decir que se pueden ejecutar procesos de WMI de forma remota.
Cada una de las acciones del agente de SCCM está identificado a través de un identificador. Los más comunes son:
  • Hardware Inventory: {00000000-0000-0000-0000-000000000001}
  • Software Inventory: {00000000-0000-0000-0000-000000000002}
  • Machine policy retrieval and evaluation cycle: {00000000-0000-0000-0000-000000000021}
El cmdlet Invoke-WmiMethod nos apoyará en esta operación. 
Por ejemplo, si se necesitara ejecutar la acción de refresco de políticas de máquina la linea para ejecutar en Powershell sería así:
 Invoke-WmiMethod -ComputerName NOMBRE_DEL_CLIENTE -Namespace rootCCM -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000021}"

Es importante que la sesión de Powershell debe ser con privilegios de administración local de la máquina cliente.
¿Ven? ya se pueden ahorrar problemas y optimizar el trabajo.

Saludos!

Introducir licencia en SCCM 2012 R2

Hola Mundo:
Llegué un poco tarde a iniciar el 2016 en el blog, de todas formas nunca es tarde para compartir una útil anotación sobre SCCM.
El día de hoy mostraré los pasos para introducir la licencia de SCCM 2012 y 2012 R2.   Afortunadamente, en SCCM podemos introducir la licencia cuando el producto ya instalado. Esto no es posible con otros productos de System Center.
Paso 1: Abrir programas y características
No es que vayamos a desinstalarlo, solo vamos a hacer un cambio en él.
Mostrará una advertencia que hay otros usuarios conectados a la aplicación. Le damos a Continuar.

Paso 2: Iniciar el asistente y seguirlo

Paso 3: Seleccionar la opción de  realizar mantenimiento en el sitio

Paso 4: Seleccionar la opción de actualizar la edición de evaluación

Paso 5: Aceptar los términos y condiciones

Paso 6: Ejecución y OK!

El proceso completo no debiera tomar más de 10 minutos. Tienes 180 días para introducir la licencia. 
Espero que les sirva.
Chau!

Proteger un directorio con AD RMS

Hola Mundo
La pregunta del millón es: ¿se puede proteger un directorio con Active Directory Rights Management Services (AD RMS)? 
La respuesta es: No precisamente.

AD RMS es un servicio que funciona a nivel de dominio que se encarga de la protección del contenido de documentos de Office, correos electrónicos y, eventualmente, otro tipo de documentos como los PDF.

Si se tiene un número considerable de documentos a los que se necesita proteger y este número de documentos aumenta de manera periódica, existe una herramienta gratuita llamada Active Directory Rights Management Services Bulk Protection Tool que se encarga de proteger los documentos de una carpeta en base a plantillas de permisos.

Las plantillas de permisos deben ser generadas en la consola de AD RMS. En la plantilla, se puede asignar permisos por usuario o por grupo.

Las plantillas se deben guardar en un directorio compartido. Esta configuración se realiza, de igual manera, en la consola de AD RMS.

Lo importante es definir de manera correcta los permisos.
Al ir seleccionando los permisos que tendrá el grupo o usuario de Active Directory sobre el (o los) documento, los privilegios que son dependencias de otros se irán seleccionando de forma automática en la medida que son requeridos.

Una vez que la plantilla está creada y disponible en un directorio compartido, se invoca a la herramienta que protege de forma masiva. Esta herramienta debe estar instalada en el  mismo servidor donde están los documentos. Se puede tomar como si fuera un servidor de archivos.
La forma de usar la herramienta es:

RMSBulk [/decrypt location] [/encrypt location rms_template [owner_email]] [/log log_file [/append] [/simple]] [/preserveattributes] [/silent]

La herramienta no tiene interfaz gráfica. Deja abierta la posibilidad de crear un script y automatizar el proceso. Mejor aun, crear una tarea programada con la secuencia de comandos.
Con una buena organización de directorios y plantillas, se puede automatizar la protección de documentos  a gran escala.
¡Hasta la próxima!

Agregar usuarios administradores a AD RMS

Hola Mundo:

Cuando se implementa AD RMS y no se agregan  otros usuarios administradores de la plataforma, se verá el siguiente error cuando intenten acceder a la plataforma:

Como AD RMS funciona sobre IIS, es un servicio web, los códigos de error y mensajes corresponden a los del protocolo HTTP.  El estado 401 indica que el usuario no cuenta con la autorización para acceder a la consola de administración.
Para agregar un usuario como administrador, solo basta agregar la cuenta de usuario de dominio al grupo local, donde se implementó AD RMS, AD RMS Enterprise Administrators

Ésta configuración se debe hacer en cada máquina del cluster.
Espero que les sea de utilidad.
Chau!

Instalar .NET Framework 3.5 en Windows Server 2012 R2

Hola Mundo:
Hay varias aplicaciones que hacen uso de la característica de .NET Framework 3.5 y Windows Server ofrece un asistente y comandos de Powershell para instalarlo como característica.
Es maravilloso, porque no tienes que descargar nada extra y todo lo haces a través de la consola de administración, o bien, descarga componentes desde Windows Update.
La vida no es de color de rosa, menos en el mundo del IT.
En un escenario donde los servidores tienen Windows Server 2012 R2 y no están conectados directamente a Internet, es necesario instalar desde el medio de instalación o desde un recurso compartido. Esto habitualmente funciona, pero en algunos casos no lo hace y tienes que recurrir a otras técnicas.
Si te encuentras con el error 0x800f0906 al instalar la característica de .NET Framework 3.5 en Windows Server 2012 R2, sigue los siguientes pasos:
Editar políticas locales
  1. Abrir gpedit.msc
  2. Buscar en Administrative Templats -> System el elemento Specify settings for optional component installation and component repair
  3. Dejar la configuración de la política de la siguiente forma:
  4.  

Instalar Caracteristica
  1. Abrir una ventana de cmd con permisos de administrador
  2. Escribir lo siguiente: DISM /online /enable-feature /featurename:NetFX3 /all
 Con ambos pasos se fuerza por política local a instalar todo desde Windows Update y luego realiza la habilitación de la característica con la herramienta DISM. Si la habilitación la haces desde el asistente o por Powershell, arrojará el mismo error. No se por qué.
Espero que te sea de utilidad  y te ayude a ahorrar tiempo.
Saludos!

Creando tareas programadas en Windows Server

Hola Mundo:
 Para las tareas de administración de cualquier sistema operativo o infraestructura es necesario ejecutar tareas de formas periódicas. Todas las familias de sistemas operativos incluyen sus propias herramientas para crear tareas programadas. En Windows se llama «Task Scheduler» o «Programador de tareas» y en los derivados de Unix se llama «Cron».

 Dejemos el bla bla y vamos a la acción:

 

MAP: Microsoft Assessments and Planning

La historia es la siguiente: Estaba en la oficina y me solicitaron que realizara una tarea de inventariado de un grupo de máquinas con SQL Server en una empresa. La verdad es que nunca había hecho esto, ni mucho menos conocía algún software que lo hiciera por mi. Ya me veía anotando en mi libreta todos los SQL Server que estaban funcionando. De ser así, tendría un tedioso día.

El panorama se comenzó a arreglar, cuando se me ocurrió preguntar como lo podía hacer. Una persona, con bastante experiencia en el tema, me dijo que existía MAP: Microsoft Assessments and Planning.

MAP Toolkit es una herramienta que ayuda a hacer inventariados, evaluaciones e informes para pequeñas y grandes empresas sin necesidad de instalar agente en ningún equipo. De este modo las empresas pueden planear de una manera más eficiente la migración de sus sistemas.

Volviendo a la historia, tuve que aprender a usar la herramienta para cumplir el propósito.

Mi memoria es frágil, así que hice un PDF con fotos para que nunca más se me olvide: http://www.4shared.com/office/_NGbSxPM/Microsoft_Assessment_and_Plann.html