Introducción a los cmdlets de Configuration Manager

Se aplica a: Configuration Manager (rama actual)

Use Windows PowerShell para administrar la jerarquía de Configuration Manager. Puede usar scripts de PowerShell para automatizar o extender Configuration Manager de forma similar a otros métodos documentados mediante WMI y C#. Para obtener más información, vea Configuration Manager SDK.

Ejecute los cmdlets y scripts de Configuration Manager en PowerShell desde la consola de Configuration Manager o desde una Windows PowerShell sesión. Al ejecutar cmdlets de Configuration Manager mediante la consola de Configuration Manager, la sesión se ejecuta automáticamente en el contexto del sitio.

Nota

Todas las versiones admitidas actualmente de la rama actual de Configuration Manager admiten Windows PowerShell versión 5.1. Si ya ha instalado PowerShell versión 7, puede usar PowerShell versión 5.1. Para obtener más información, vea Using PowerShell 7 side-by-side with Windows PowerShell 5.1.

A partir de la versión 2010, la biblioteca de cmdlets de PowerShell de Configuration Manager admite PowerShell 7. Para obtener más información, vea Support for PowerShell version 7.

A partir de la versión 2103, el módulo ConfigurationManager PowerShell requiere Microsoft .NET versión 4.7.2 o posterior.

PowerShell desde la consola de Configuration Manager

El método más sencillo para abrir PowerShell es directamente desde la consola de Configuration Manager.

  1. Inicie la consola de Configuration Manager. En la esquina superior izquierda, hay un rectángulo azul. Seleccione la flecha blanca del rectángulo azul y elija Conectar a través de Windows PowerShell.

  2. Después Windows PowerShell, verá un mensaje que contiene el código del sitio. Por ejemplo, si el código del sitio es "ABC", el mensaje tiene el siguiente aspecto: PS ABC:\>

  3. Para comprobar que funciona, use el cmdlet Get-CMSite. Este cmdlet devuelve información sobre el sitio de Configuration Manager al que está conectado actualmente y los sitios secundarios. Por ejemplo, el nombre del servidor de sitio, el director de instalación, el nombre del sitio y la versión.

Importar el módulo de PowerShell de Configuration Manager

Conectar a Configuration Manager desde una sesión Windows PowerShell cargando manualmente el módulo de Configuration Manager.

  1. Abra una sesión Windows PowerShell desde el menú Inicio.

  2. Importe el módulo de Configuration Manager mediante el cmdlet Import-Module. Especifique la ruta de acceso al módulo de Configuration Manager o cambie al directorio que contiene el módulo. De forma predeterminada, el módulo se encuentra en la siguiente ruta de acceso: C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\ConfigurationManager.psd1

    A partir de la versión 2111, al instalar la consola de Configuration Manager, la ruta de acceso al módulo ahora se agrega a la variable de entorno del sistema, PSModulePath. Para obtener más información, vea about_PSModulePath. Con este cambio, puede importar el módulo solo por su nombre: Import-Module ConfigurationManager

    Importante

    Asegúrese de que no importa una versión anterior del módulo que pueda existir en otra carpeta. Después de importar el módulo, use los siguientes comandos para comprobar la versión y la ruta de acceso del módulo:

    (Get-Module -Name ConfigurationManager).Version
    (Get-Module -Name ConfigurationManager).Path
    

    En el siguiente ejemplo se cambia el directorio del módulo y, a continuación, se importa:

    Set-Location 'C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin'
    Import-Module .\ConfigurationManager.psd1
    

    Sugerencia

    También puede usar la variable SMS_ADMIN_UI_PATH de entorno. Por ejemplo:

    Set-Location "$env:SMS_ADMIN_UI_PATH\..\"
    

    Además, puede usar el alias de cd para cambiar directorios en lugar del cmdlet Set-Location.

  3. Si es la primera vez que importa el módulo de Configuration Manager en este equipo, es posible que deba crear la unidad del sitio. Por ejemplo:

    New-PSDrive -Name "ABC" -PSProvider "AdminUI.PS.Provider\CMSite" -Root "siteserver.contoso.com" -Description "Primary site"
    

    Sugerencia

    Al iniciar PowerShell desde la consola, crea automáticamente PSDrive como una comodidad para el sitio conectado actualmente. Si está en una jerarquía, use New-PSDrive para crear unidades para cada sitio.

  4. Para ejecutar los cmdlets de Configuration Manager, debe cambiar la ruta de acceso al sitio de Configuration Manager. En el siguiente ejemplo, el código de sitio es ABC :

    Set-Location ABC:
    
  5. Confirme que PowerShell cargó correctamente el módulo de Configuration Manager mediante el cmdlet Get-CMSite.

Ayuda de actualización

Para obtener la información más reciente del módulo de PowerShell de Configuration Manager, use el cmdlet Update-Help. Este contenido es el mismo que lo que se publica en docs.microsoft.com para el módulo ConfigurationManager.

Importante

Debido a un cambio en la forma en que el contenido actualizable se estructura y publica con la versión 2103, no use Update-Help en un sitio de la versión 2010. Actualice el sitio a la versión 2103 o posterior y, a continuación, actualice el contenido de ayuda local.

Para obtener más información, vea Notas de la versión 2103 de PowerShell.

El equipo en el que ejecuta este cmdlet necesita acceso a Internet, específicamente pshelpprod.blob.core.windows.net . A continuación, ejecute el siguiente comando desde una sesión de PowerShell con privilegios elevados:

Update-Help -Module ConfigurationManager

Después de actualizar la ayuda del cmdlet de Configuration Manager, puede obtener ayuda sobre los cmdlets mediante el cmdlet Get-Help. Por ejemplo:

Get-Help Get-CMDevice
Get-Help Get-CMDevice -Examples
Get-Help Get-CMDevice -Parameter *

Para obtener más información, vea la siguiente entrada de blog de PowerShell: You've got Help!.

Parámetros comunes

Todos los cmdlets de Configuration Manager admiten los parámetros comunes de PowerShell:

  • Depuración
  • ErrorAction
  • ErrorVariable
  • InformationAction
  • InformationVariable
  • OutVariable
  • OutBuffer
  • PipelineVariable
  • Detallado
  • WarningAction
  • WarningVariable

Para más información, consulte about_CommonParameters.

Compatibilidad con PowerShell versión 7

A partir de la versión 2010, la biblioteca de cmdlets de PowerShell de Configuration Manager admite PowerShell versión 7. Para obtener más información sobre PowerShell 7, incluidas las instrucciones sobre cómo descargarlo e instalarlo, vea Install PowerShell on Windows.

Sugerencia

PowerShell 7 se ejecuta como pwsh.exe . Las versiones anteriores de PowerShell se ejecutan como powershell.exe .

Cmdlets que no admiten PowerShell versión 7

Los cmdlets siguientes no admiten PowerShell 7:

  • Import-CMPackage
  • Import-CMDriverPackage
  • Import-CMTaskSequence
  • Export-CMPackage
  • Export-CMDriverPackage
  • Export-CMTaskSequence

Requieren la .NET Framework en lugar de .NET Core que se usa con PowerShell versión 7.

A partir de la versión 2103, si intenta usar estos cmdlets en una sesión de PowerShell versión 7, producirá un error con el siguiente error: This cmdlet only supports the ".NET Framework" runtime.

Problemas conocidos con PowerShell versión 7

  • No puede iniciar PowerShell 7 directamente desde la consola de Configuration Manager. Inicie PowerShell 7 manualmente y, a continuación, importe el módulo de Configuration Manager.

  • La compatibilidad actual solo es para los cmdlets de Configuration Manager. Es posible que otras características de Configuration Manager que dependen de PowerShell no admitan la versión 7. Por ejemplo, Ejecutar scripts, CMPivoto el paso de secuencia de tareas Ejecutar script de PowerShell.

Comentarios para PowerShell

Si tiene comentarios sobre los cmdlets de PowerShell de Configuration Manager, use las mismas opciones en la consola de Configuration Manager para enviar comentarios. Para obtener más información, vea Comentarios del producto.

Al enviar un ceño fruncido, incluya la siguiente información adicional específica de PowerShell:

  • El script exacto o la sintaxis de comandos que usó para que Microsoft pueda intentar reproducir el problema.

  • Qué comportamiento esperabas en comparación con el comportamiento real.

  • El resultado completo al ejecutarlo con el parámetro común Verbose.

  • Versión y ruta de acceso del módulo ConfigurationManager. Por ejemplo, incluya el resultado de los siguientes comandos:

    (Get-Module -Name ConfigurationManager).Version
    (Get-Module -Name ConfigurationManager).Path
    
  • Si un cmdlet devuelve un error, use el siguiente comando para obtener detalles de excepción:

    $Error[0].Exception | Format-List * -Force
    

Notas de versión de vista previa

El artículo de características de vista previa técnica de la biblioteca de documentación principal incluye notas de la versión de PowerShell. Por ejemplo, vea Technical preview version 2106.

Siguientes pasos

Para obtener más información sobre lo que ha cambiado en la versión más reciente de Configuration Manager, seleccione las notas de la versión más recientes de la tabla de contenido.

Para obtener más información sobre los cmdlets individuales, vea la referencia del cmdlet Configuration Manager.

Para obtener más información sobre cómo aprender y empezar a Windows PowerShell, vea PowerShell 101.