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 ampliar Configuration Manager similares a otros enfoques documentados mediante WMI y C#. Para obtener más información, consulte Configuration Manager SDK.
Ejecute Configuration Manager cmdlets y scripts en PowerShell desde la consola de Configuration Manager o desde una sesión de Windows PowerShell. 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 Configuration Manager rama actual admiten Windows PowerShell versión 5.1. Si ya ha instalado PowerShell versión 7, todavía puede usar la versión 5.1 de PowerShell. Para obtener más información, consulte Uso de PowerShell 7 en paralelo con Windows PowerShell 5.1.
La biblioteca de cmdlets de Configuration Manager PowerShell admite PowerShell 7. Para obtener más información, consulte Compatibilidad con PowerShell versión 7.
A partir de la versión 2103, el módulo de PowerShell ConfigurationManager 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.
Inicie la consola de Configuration Manager. En la esquina superior izquierda, hay un rectángulo azul. Seleccione la flecha blanca en el rectángulo azul y elija Conectar a través de Windows PowerShell.
Después de Windows PowerShell carga, verá un mensaje que contiene el código de sitio. Por ejemplo, si el código de sitio es "ABC", el símbolo del sistema tiene el siguiente aspecto:
PS ABC:\>
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.
Nota:
Cuando se inicia PowerShell o el ISE de PowerShell desde la consola de Configuration Manager, se usa la directiva de ejecución AllSigned para el ámbito de proceso. Si esta configuración segura predeterminada es demasiado para su entorno, hay dos opciones para solucionarlo:
- Cambie la directiva de ejecución con un comando similar al siguiente ejemplo:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
- Importe el módulo de PowerShell Configuration Manager.
Importación del módulo de PowerShell Configuration Manager
Conéctese a Configuration Manager desde una sesión de Windows PowerShell existente mediante la carga manual del módulo de Configuration Manager.
Abra una sesión de Windows PowerShell en el menú Inicio.
Importe el módulo Configuration Manager mediante el cmdlet Import-Module. Especifique la ruta de acceso al módulo Configuration Manager o cambie al directorio que contiene el módulo. De forma predeterminada, el módulo se encuentra en la ruta de acceso siguiente:
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, consulte about_PSModulePath. Con este cambio, puede importar el módulo solo por su nombre:
Import-Module ConfigurationManager
Importante
Asegúrese de no importar 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 ejemplo siguiente se cambia al 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 de entorno SMS_ADMIN_UI_PATH . Por ejemplo:
Set-Location "$env:SMS_ADMIN_UI_PATH\..\"
Además, puede usar el alias cd para cambiar directorios en lugar del cmdlet Set-Location .
Si es la primera vez que importa el módulo Configuration Manager en este equipo, es posible que tenga que crear la unidad de sitio. Por ejemplo:
New-PSDrive -Name "ABC" -PSProvider "CMSite" -Root "siteserver.contoso.com" -Description "Primary site"
Sugerencia
Cuando se inicia PowerShell desde la consola, se 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.
Para ejecutar los cmdlets de Configuration Manager, debe cambiar la ruta de acceso al sitio de Configuration Manager. En el ejemplo siguiente, el código de sitio es
ABC
:Set-Location ABC:
Confirme que PowerShell cargó correctamente el módulo Configuration Manager mediante el cmdlet Get-CMSite.
Actualización de la ayuda
Para obtener la información más reciente del módulo de PowerShell Configuration Manager, use el cmdlet Update-Help. Este contenido es el mismo que el publicado en Microsoft Learn para el módulo ConfigurationManager.
Importante
Debido a un cambio en la estructura y publicación del contenido actualizable 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 la ayuda local.
Para obtener más información, consulte las notas de la versión 2103 de PowerShell.
El equipo en el que se ejecuta este cmdlet necesita acceso a Internet, en concreto 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 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, consulte la siguiente entrada de blog de PowerShell: You've got Help!.
Parámetros comunes
Todos los cmdlets 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 la versión 7 de PowerShell
La biblioteca de cmdlets de PowerShell Configuration Manager admite la versión 7 de PowerShell. Para obtener más información sobre PowerShell 7, incluidas las instrucciones sobre cómo descargarlo e instalarlo, consulte Instalación de PowerShell en 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 siguientes cmdlets no admiten PowerShell 7:
- Import-CMPackage
- Import-CMDriverPackage
- Import-CMTaskSequence
- Export-CMPackage
- Export-CMDriverPackage
- Export-CMTaskSequence
- Add-CMReportingServicePoint
- Get-CMReportingServicePoint
- Remove-CMReportingServicePoint
- Set-CMReportingServicePoint
Requieren .NET Framework en lugar de .NET Core que se usa con la versión 7 de PowerShell.
A partir de la versión 2103, si intenta usar estos cmdlets en una sesión de PowerShell versión 7, se producirá el siguiente error: This cmdlet only supports the ".NET Framework" runtime.
Problemas conocidos con la versión 7 de PowerShell
No se puede iniciar PowerShell 7 directamente desde la consola de Configuration Manager. Inicie PowerShell 7 manualmente e importe el módulo de Configuration Manager.
La compatibilidad actual es solo 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, CMPivot o el paso de secuencia de tareas Ejecutar script de PowerShell .
Comentarios para PowerShell
Si tiene comentarios sobre los cmdlets de PowerShell Configuration Manager, use las mismas opciones en la consola de Configuration Manager para enviar comentarios. Para obtener más información, consulte Comentarios del producto.
Al enviar un ceño fruncido, incluya la siguiente información adicional específica de PowerShell:
El script o la sintaxis de comandos exactos que usó para que Microsoft pueda intentar reproducir el problema.
Qué comportamiento esperaba en comparación con el comportamiento real.
Salida completa al ejecutarla con el parámetro común Verbose .
La versión y la ruta de acceso del módulo ConfigurationManager . Por ejemplo, incluya la salida 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 los detalles de la excepción:
$Error[0].Exception | Format-List * -Force
Notas de la versión preliminar
El artículo de características de technical preview de la biblioteca de documentación principal incluye notas de la versión de PowerShell. Por ejemplo, consulte Technical Preview versión 2202.
Pasos siguientes
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 cmdlets individuales, consulte la referencia de cmdlets de Configuration Manager.
Para obtener más información sobre el aprendizaje y la introducción a Windows PowerShell, consulte PowerShell 101.