# 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 import all of the # relevant JEE MPs. This is done by first importing the MPB and # then importing all of the MP (minus the Library of course) # # Authoring: Christopher Crammond # Date Created: April 24th, 2012 # Date Modified: April 24th, 2012 # # Version: 0.0.1 # # 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) { 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) Import-Module 'E:\Program Files\System Center 2012\Operations Manager\Powershell\OperationsManager\OperationsManager.psd1' $listOfManagementPacksToRemove = Get-SCOMManagementPack -Name $mp -Recurse $listOfManagementPacksToRemove | format-table name $title = "Uninstall Management Packs" $message = "Do you want to uninstall the above 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"; }