Archivos de la categoría: Powershell

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!

Instalación de roles requeridos para SCCM

Hola Mundo:

Hoy les quiero compartir una herramienta que, en lo personal, me apoya bastante en la instalación de SCCM 2012 y 2012 R2.

Es un script construido en Powershell y tiene interfaz gráfica (¡Si! y no bromeo). Requiere de permisos de administador para ejecutar.

Más información sobre las características y descargas pueden encontrarlas en el link de la herramienta:https://gallery.technet.microsoft.com/ConfigMgr-2012-R2-e52919cd

Antes de ejecutar, hay que quitar la protección de ejecución de scripts de Powershell:

Una vez que el sistema está permisivo, se ejecuta la herramienta y muestra su ventana principal:

De inmediato la herramienta acusa que le falta un reinicio al servidor y que no está siendo ejecutada con permisos de administrador.
Ofrece instalar los roles requeridos para cada uno de los tipos de sitio y además permite hacer la descarga de los paquetes requeridos.
También permite hacer otras operaciones como la extensión de esquema de Active Directory, instalación de WSUS, instalación de Windows ADK, creación del contenedor System Management, entre otros.
Si quieres instalar SCCM esta herramienta ayudará a ahorrar mucho trabajo y disminuye el riesgo de la falta de algún rol o configuración.
Espero que les sirva.
¡Chau!