Como remover um pacote de gerenciamento do Operations Manager

 

Publicado: março de 2016

Aplica-se a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Quando você não precisa mais um pacote de gerenciamento, você pode excluí-lo usando o console de operações. Quando você exclui um pacote de gerenciamento, todas as configurações e limites associados a ele são removidos do System Center 2012 – Operations Manager. Além disso, o arquivo. MP ou. XML desse pacote de gerenciamento é excluído do disco rígido do servidor de gerenciamento. Você pode excluir um pacote de gerenciamento somente se você primeiro excluir pacotes de gerenciamento dependentes.

Para remover um pacote de gerenciamento

  1. Faça logon no computador com uma conta que seja membro da função Administradores do Operations Manager.

  2. No console de Operações, clique em Administração.

  3. Em administração, clique em pacotes de gerenciamento.

  4. No pacotes de gerenciamento painel, com o botão direito do pacote de gerenciamento você deseja remover e, em seguida, clique em Excluir.

  5. Sobre a mensagem informando que a exclusão do pacote de gerenciamento pode afetar o escopo de algumas funções de usuário, clique em Sim.

Remover um pacote de gerenciamento com dependências programaticamente

Quando um pacote de gerenciamento é excluído do painel administração da interface do usuário, ele pode se tornar muito demorado para rastrear recursivamente para baixo e exclua todos os pacotes de gerenciamento dependentes antes de excluir o pacote de gerenciamento pretendido originalmente. Você pode usar o seguinte script para exclusão em cascata, um pacote de gerenciamento e todas as suas dependências.

Para executar o script, siga estas etapas:

  1. Abra o prompt de Shell de comando do Operations Manager no modo de administrador.

  2. Execute o script anexado no diretório onde ele foi salvo no disco. Por exemplo:

    • .\RecursiveRemove.ps1 < ID ou nome do sistema do MP >

    • .\RecursiveRemove.ps1 Microsoft.SQLServer.2014.Discovery

    Observação você pode ver a ID ou o nome de sistema do pacote de gerenciamento que você deseja desinstalar selecionando-o no instalado pacotes de gerenciamento exibição. Em seguida, clique em propriedades no painel Ações. Em seguida, copie o conteúdo ID: caixa de texto em geral guia.

# The sample scripts are not supported under any Microsoft standard support 
# program or service. The sample scripts are provided AS IS without warranty 
# of any kind. Microsoft further disclaims all implied warranties including, 
# without limitation, any implied warranties of merchantability or of fitness
# for a particular purpose. The entire risk arising out of the use or 
# performance of the sample scripts and documentation remains with you. In no
# event shall Microsoft, its authors, or anyone else involved in the creation,
# production, or delivery of the scripts be liable for any damages whatsoever
# (including, without limitation, damages for loss of business profits,
# business interruption, loss of business information, or other pecuniary
# loss) arising out of the use of or inability to use the sample scripts or
# documentation, even if Microsoft has been advised of the possibility of 
# such damages.
# PowerShell script to automagically remove an MP and its dependencies.
# Original Author   :       Christopher Crammond
# Modified By       :       Chandra Bose
# Date Created      :   April 24th, 2012
# Date Modified     :   Januray 18th, 2016
# Version       :       0.0.2

# Needed for SCOM SDK
$ipProperties = [System.Net.NetworkInformation.IPGlobalProperties]::GetIPGlobalProperties()
$rootMS = "{0}.{1}" -f $ipProperties.HostName, $ipProperties.DomainName


#######################################################################
# Helper method that will remove the list of given Management Packs.
function RemoveMPsHelper 
{param($mpList)
  foreach ($mp in $mpList)
  {
    $recursiveListOfManagementPacksToRemove = Get-SCOMManagementPack -Name $mp.Name -Recurse
    if ($recursiveListOfManagementPacksToRemove.Count -gt 1)
    {
        Echo "`r`n"
        Echo "Following dependent management packs has to be deleted before deleting $($mp.Name)..."

        $recursiveListOfManagementPacksToRemove | format-table name
        RemoveMPsHelper $recursiveListOfManagementPacksToRemove
    }
    else
    {
        $mpPresent = Get-ManagementPack -Name $mp.Name
        $Error.Clear()
        if ($mpPresent -eq $null)
        {
            # If the MP wasn’t found, we skip the uninstallation of it.
            Echo "    $mp has already been uninstalled"
        }
        else
        {
            Echo "    * Uninstalling $mp "
            Uninstall-ManagementPack -managementpack $mp
        }
    }
  }
}

#######################################################################
# Remove 'all' of the JEE MPs as well as MPs that are dependent on them.
# The remove is done by finding the base MP (Microsoft.JEE.Library) and finding
# all MPs that depend on it.  This list will be presented to the user prompting
# if the user wants to continue and removing the list of presented MPs
function RemoveMPs
{param($mp)

  $listOfManagementPacksToRemove = Get-SCOMManagementPack -Name $mp -Recurse
  $listOfManagementPacksToRemove | format-table name

  $title = "Uninstall Management Packs"
  $message = "Do you want to uninstall the above $($listOfManagementPacksToRemove.Count) management packs and its dependent management packs"

  $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Uninstall selected Management Packs."
  $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "Do not remove Management Packs."
  $options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)

  $result = $host.ui.PromptForChoice($title, $message, $options, 0) 

  switch ($result)
  {
        0 {RemoveMPsHelper $listOfManagementPacksToRemove}
        1 {"Exiting without removing any management packs"}
  }
}

#######################################################################
# Begin Script functionality
if ($args.Count -ne 1)
{
  Echo "Improper command line arguments"
  Echo ""
  Echo "Specify a command line argument to either import or export MPs"
  exit 1
}
else
{
  $firstArg = $args[0]

  add-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client";
  $cwd = get-location
  set-location "OperationsManagerMonitoring::";
  $mgConnection = new-managementGroupConnection -ConnectionString:$rootMS;

  RemoveMPs $firstArg

  set-location $cwd
  remove-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client";  
}
System_CAPS_noteObservação

Se outros pacotes de gerenciamento importados dependerem do pacote de gerenciamento que você está tentando remover, o pacotes de gerenciamento dependentes mensagem de erro será exibida. Você deve remover os pacotes de gerenciamento dependentes antes de continuar.

O Operations Manager remove o pacote de gerenciamento selecionado.