I’ve been asked on a few occasions to automate management packs. Unfortunately, there isn’t much information about how to do to do this using Powershell in the MSDN development kit. I am providing a couple Powershell functions you can add to your automation process that will generate a new management pack.
Just update the output directory, pack name, pack display name, and version in the highlighted lines.
function CreateNewPack ($id, $name, $version) {
$mpStore = New-Object Microsoft.EnterpriseManagement.Configuration.IO.ManagementPackFileStore
$managementPack = New-Object Microsoft.EnterpriseManagement.Configuration.ManagementPack($id, $name, (New-Object Version(1,0,0,$version)), $mpStore)
$managementPack.DefaultLanguageCode = 'ENU'
$managementPack.DisplayName = $name
$managementPack.Description = $name + ' management pack was auto-generated'
$managementPack
}
function WriteManagementPack ($directory, $mp) {
$mpWriter = new-object Microsoft.EnterpriseManagement.Configuration.IO.ManagementPackXmlWriter($directory)
$mpWriter.WriteManagementPack($mp) | Out-Null
}
$directory = 'c:\My Pack'
$mp = CreateNewPack 'MyNewPack' 'My New Pack' 1
$mp.AcceptChanges()
WriteManagementPack $directory $mp
Contact SCOMskills if you are interested in learning more about management pack automation, at automation@scomskills.com.
🙂