Introdução aos cmdlets Configuration Manager
Aplica-se a: Gerenciador de Configurações (branch atual)
Use Windows PowerShell para gerenciar sua hierarquia de Configuration Manager. Você pode usar scripts do PowerShell para automatizar ou estender Configuration Manager semelhantes a outras abordagens documentadas usando WMI e C#. Para obter mais informações, consulte Configuration Manager SDK.
Execute Configuration Manager cmdlets e scripts no PowerShell do console Configuration Manager ou de uma sessão de Windows PowerShell. Quando você executa Configuration Manager cmdlets usando o console Configuration Manager, sua sessão é executada automaticamente no contexto do site.
Observação
Todas as versões com suporte atual do Configuration Manager suporte atual do branch Windows PowerShell versão 5.1. Se você já instalou o PowerShell versão 7, ainda poderá usar o PowerShell versão 5.1. Para obter mais informações, confira Usando o PowerShell 7 lado a lado com Windows PowerShell 5.1.
A biblioteca de cmdlets Configuration Manager PowerShell dá suporte ao PowerShell 7. Para obter mais informações, consulte Suporte para o PowerShell versão 7.
A partir da versão 2103, o módulo ConfigurationManager do PowerShell requer o Microsoft .NET versão 4.7.2 ou posterior.
PowerShell do console Configuration Manager
O método mais fácil de abrir o PowerShell é diretamente do console Configuration Manager.
Inicie o console Configuration Manager. No canto superior esquerdo, há um retângulo azul. Selecione a seta branca no retângulo azul e escolha Conectar por meio de Windows PowerShell.
Depois de carregar Windows PowerShell, você verá um prompt que contém o código do site. Por exemplo, se o código do site for "ABC", o prompt será semelhante a:
PS ABC:\>
Para verificar se funciona, use o cmdlet Get-CMSite . Este cmdlet retorna informações sobre o Configuration Manager site ao qual você está conectado no momento e em qualquer site filho. Por exemplo, o nome do servidor do site, o diretor de instalação, o nome do site e a versão.
Observação
Quando você inicia o PowerShell ou o ISE do PowerShell no console Configuration Manager, ele usa a política de execução AllSigned para o escopo process. Se essa configuração de segurança padrão for demais para seu ambiente, há duas opções para contornar isso:
- Altere a política de execução com um comando semelhante ao exemplo a seguir:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
- Importe o módulo Configuration Manager PowerShell.
Importar o módulo Configuration Manager PowerShell
Conecte-se a Configuration Manager de uma sessão de Windows PowerShell existente carregando manualmente o módulo Configuration Manager.
Abra uma sessão Windows PowerShell no menu Iniciar.
Importe o módulo Configuration Manager usando o cmdlet Import-Module. Especifique o caminho para o módulo Configuration Manager ou altere para o diretório que contém o módulo. Por padrão, o módulo está no seguinte caminho:
C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin\ConfigurationManager.psd1
A partir da versão 2111, quando você instala o console Configuration Manager, o caminho para o módulo agora é adicionado à variável de ambiente do sistema, PSModulePath. Para obter mais informações, consulte about_PSModulePath. Com essa alteração, você pode importar o módulo apenas pelo nome:
Import-Module ConfigurationManager
Importante
Verifique se você não importa uma versão mais antiga do módulo que pode existir em outra pasta. Depois de importar o módulo, use os seguintes comandos para verificar a versão e o caminho do módulo:
(Get-Module -Name ConfigurationManager).Version (Get-Module -Name ConfigurationManager).Path
O exemplo a seguir muda para o diretório do módulo e o importa:
Set-Location 'C:\Program Files (x86)\Microsoft Endpoint Manager\AdminConsole\bin' Import-Module .\ConfigurationManager.psd1
Dica
Você também pode usar a variável de ambiente SMS_ADMIN_UI_PATH . Por exemplo:
Set-Location "$env:SMS_ADMIN_UI_PATH\..\"
Além disso, você pode usar o alias de cd para alterar diretórios em vez do cmdlet Set-Location .
Se for a primeira vez que importa o módulo Configuration Manager neste computador, talvez seja necessário criar a unidade do site. Por exemplo:
New-PSDrive -Name "ABC" -PSProvider "CMSite" -Root "siteserver.contoso.com" -Description "Primary site"
Dica
Quando você inicia o PowerShell no console, ele cria automaticamente o PSDrive como uma conveniência para o site conectado atualmente. Se você estiver em uma hierarquia, use o New-PSDrive para criar unidades para cada site.
Para executar os cmdlets Configuration Manager, você precisa alternar o caminho para o site Configuration Manager. No exemplo a seguir, o código do site é
ABC
:Set-Location ABC:
Confirme se o PowerShell carregou corretamente o módulo Configuration Manager usando o cmdlet Get-CMSite.
Atualizar ajuda
Para obter as informações mais recentes do módulo Configuration Manager PowerShell, use o cmdlet Update-Help. Esse conteúdo é o mesmo publicado no Microsoft Learn para o módulo ConfigurationManager.
Importante
Devido a uma alteração na forma como o conteúdo atualizável é estruturado e publicado com a versão 2103, não use Update-Help em um site de versão 2010. Atualize o site para a versão 2103 ou posterior e atualize o conteúdo de ajuda local.
Para obter mais informações, confira Notas de versão do PowerShell versão 2103.
O computador no qual você executa esse cmdlet precisa de acesso à Internet, especificamente pshelpprod.blob.core.windows.net
. Em seguida, execute o seguinte comando de uma sessão do PowerShell elevada:
Update-Help -Module ConfigurationManager
Depois de atualizar a ajuda de cmdlet Configuration Manager, você pode obter ajuda sobre os cmdlets usando o cmdlet Get-Help. Por exemplo:
Get-Help Get-CMDevice
Get-Help Get-CMDevice -Examples
Get-Help Get-CMDevice -Parameter *
Para obter mais informações, confira a seguinte postagem no blog do PowerShell: Você tem Ajuda!.
Parâmetros comuns
Todos os cmdlets Configuration Manager dão suporte aos parâmetros comuns do PowerShell:
- Depurar
- Erroraction
- Errorvariable
- InformationAction
- InformationVariable
- Outvariable
- Outbuffer
- PipelineVariable
- Detalhado
- Warningaction
- Warningvariable
Para obter mais informações, confira about_CommonParameters.
Suporte para o PowerShell versão 7
A Configuration Manager biblioteca de cmdlets do PowerShell dá suporte ao PowerShell versão 7. Para obter mais informações sobre o PowerShell 7, incluindo instruções sobre como baixá-lo e instalá-lo, consulte Instalar o PowerShell no Windows.
Dica
O PowerShell 7 é executado como pwsh.exe
. Versões anteriores do PowerShell são executadas como powershell.exe
.
Cmdlets que não dão suporte ao PowerShell versão 7
Os seguintes cmdlets não dão suporte ao PowerShell 7:
- Import-CMPackage
- Import-CMDriverPackage
- Import-CMTaskSequence
- Export-CMPackage
- Export-CMDriverPackage
- Export-CMTaskSequence
- Add-CMReportingServicePoint
- Get-CMReportingServicePoint
- Remove-CMReportingServicePoint
- Set-CMReportingServicePoint
Eles exigem o .NET Framework em vez do .NET Core usado com o PowerShell versão 7.
A partir da versão 2103, se você tentar usar esses cmdlets em uma sessão do PowerShell versão 7, eles falharão com o seguinte erro: This cmdlet only supports the ".NET Framework" runtime.
Problemas conhecidos com o PowerShell versão 7
Você não pode iniciar o PowerShell 7 diretamente do console Configuration Manager. Inicie manualmente o PowerShell 7 e importe o módulo Configuration Manager.
O suporte atual é apenas para os cmdlets Configuration Manager. Outros recursos do Configuration Manager que dependem do PowerShell podem não dar suporte à versão 7. Por exemplo, Execute Scripts, CMPivot ou a etapa Executar sequência de tarefas do Script do PowerShell .
Comentários do PowerShell
Se você tiver comentários sobre os cmdlets Configuration Manager PowerShell, use as mesmas opções no console Configuration Manager para enviar comentários. Para obter mais informações, confira Comentários sobre produtos.
Ao enviar uma carranca, inclua as seguintes informações adicionais específicas para o PowerShell:
A sintaxe de script ou comando exata que você usou para que a Microsoft possa tentar reproduzir o problema.
Que comportamento você esperava em comparação com o comportamento real.
A saída completa ao executá-la com o parâmetro comum Verbose .
A versão e o caminho do módulo ConfigurationManager . Por exemplo, inclua a saída dos seguintes comandos:
(Get-Module -Name ConfigurationManager).Version (Get-Module -Name ConfigurationManager).Path
Se um cmdlet retornar um erro, use o seguinte comando para obter detalhes de exceção:
$Error[0].Exception | Format-List * -Force
Notas de versão prévia
O artigo de recursos de visualização técnica na biblioteca de documentação principal inclui notas de versão para o PowerShell. Por exemplo, confira Versão prévia técnica 2202.
Próximas etapas
Para obter mais informações sobre o que foi alterado na versão mais recente do Configuration Manager, selecione as notas de versão mais recentes na tabela de conteúdo.
Para obter mais informações sobre cmdlets individuais, consulte a referência Configuration Manager cmdlet.
Para obter mais informações sobre como aprender e começar a Windows PowerShell, consulte PowerShell 101.