Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Erro ao Vincular Parâmetro \'TaskSequence\' no SCCM: Conversão de Tipo Falhou

O Problema: Ao tentar executar um script no Microsoft System Center Configuration Manager (SCCM), você pode encontrar o seguinte erro: "Cannot bind parameter 'TaskSequence'. Cannot convert the 'TS name' value of type 'System.String' to type 'Microsoft.ConfigurationManagement.ManagementProvider.IResultObject'". Esse problema impede a execução correta da sequência de tarefas desejada.

Análise do Problema: Esse erro ocorre quando um script ou comando tenta vincular um parâmetro de sequência de tarefas (TaskSequence) que espera um objeto do tipo Microsoft.ConfigurationManagement.ManagementProvider.IResultObject, mas recebe uma string (System.String) em vez disso. Esse problema geralmente surge ao usar scripts PowerShell para automatizar tarefas no SCCM.

Sintomas:

  • O script falha ao tentar iniciar uma sequência de tarefas.
  • A mensagem de erro mencionada é exibida no console ou no log de execução do script.

Como começou:

  • O problema pode ter começado após uma atualização do SCCM, uma modificação no script ou uma alteração na configuração do ambiente.

Causa Raiz: A causa raiz desse problema é a tentativa de passar uma string (nome da sequência de tarefas) diretamente para um parâmetro que espera um objeto de sequência de tarefas (IResultObject). O SCCM não consegue converter automaticamente a string para o tipo de objeto esperado.

Solução: Para resolver esse problema, você precisa modificar o script para obter o objeto de sequência de tarefas correto a partir do nome da sequência de tarefas. Abaixo está um guia passo a passo para corrigir o script:

  1. Obtenha o Objeto de Sequência de Tarefas: Use o cmdlet Get-CMTaskSequence para obter o objeto da sequência de tarefas com base no nome.

    # Nome da sequência de tarefas
    $taskSequenceName = "Nome da Sua Sequência de Tarefas"
    
    # Obter o objeto da sequência de tarefas
    $taskSequence = Get-CMTaskSequence -Name $taskSequenceName
    
    # Verificar se a sequência de tarefas foi encontrada
    if ($null -eq $taskSequence) {
        Write-Error "Sequência de tarefas '$taskSequenceName' não encontrada."
        exit 1
    }
  2. Passe o Objeto Correto para o Parâmetro: Modifique o script para passar o objeto de sequência de tarefas em vez da string.

    # Exemplo de uso do objeto de sequência de tarefas
    Start-CMTaskSequence -TaskSequence $taskSequence
  3. Executar o Script: Salve as alterações no script e execute-o novamente. Certifique-se de que o SCCM console ou o ambiente de execução do PowerShell tenha as permissões necessárias para acessar e executar as sequências de tarefas.

Exemplo Completo:

# Nome da sequência de tarefas
$taskSequenceName = "Nome da Sua Sequência de Tarefas"

# Obter o objeto da sequência de tarefas
$taskSequence = Get-CMTaskSequence -Name $taskSequenceName

# Verificar se a sequência de tarefas foi encontrada
if ($null -eq $taskSequence) {
    Write-Error "Sequência de tarefas '$taskSequenceName' não encontrada."
    exit 1
}

# Iniciar a sequência de tarefas
Start-CMTaskSequence -TaskSequence $taskSequence

Seguindo esses passos, você deve ser capaz de resolver o problema de vinculação do parâmetro 'TaskSequence' e executar a sequência de tarefas corretamente.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.