Yinelenen Yönetim paketi diğer adlarını kaldırma
System Center Operations Manager 2019 UR4 ve 2022 RTM ile System Center Operations Manager yönetim paketi başvuru diğer adları büyük/küçük harfe duyarlıdır ve yalnızca benzersiz diğer adlar oluşturur. Sonuç olarak, System Center Operations Manager güncelleştirme paketi yükseltmeleri veya sürüm yükseltmeleri, yinelenen yönetim paketi başvuru diğer adlarının zaten bulunduğu bir ortamda başarısız olur.
Bu makale, System Center Operations Manager güncelleştirme paketi yükseltmelerinin veya sürüm yükseltmelerinin başarıyla tamamlanması için yinelenen yönetim paketi başvuru diğer adlarının (varsa) kaldırılmasına yardımcı olur.
System Center Operations Manager 2019 UR4'e yükseltmeden önce tüm yinelenen yönetim paketi diğer adlarını kaldırdığınızdan emin olun.
Yinelenen yönetim paketi diğer adlarını algılama
Yinelenen yönetim paketi diğer adlarına sahip yönetim paketlerini algılamak için aşağıdakileri yapın:
Bir Yönetim Sunucusunda PowerShell ISE'yi başlatın veya System Center Operations Manager İşletim Veritabanı'nda T-SQL'i çalıştırın.
PowerShell Betiği
############################################
#Identify MPs imported with duplicate Aliases
Import-Module OperationsManager
$mps = Get-SCOMManagementPack
foreach ($mp in $mps)
{
$hashTable = @{}
foreach ($ref in $mp.References)
{
try {$hashTable.Add($ref.Key, $ref.Value)}
catch
{
$MPName = $mp.Name
$MPDisplayName = $mp.DisplayName
$MPVersion = $mp.Version
"MP contains duplicate aliases: Name=($MPName) DiplayName=($MPDisplayName) Version=($MPVersion)"
}
}
}
############################################
T-SQL
-- LIST ALL MPs that have a duplicate Alias reference
DECLARE @mpFriendlyName NVARCHAR(255),
@mpName NVARCHAR(255),
@mpId UNIQUEIDENTIFIER,
@mpXml AS XML
CREATE TABLE #badmptable
(
mpid UNIQUEIDENTIFIER,
mpname NVARCHAR(255),
mpfriendlyname NVARCHAR(255)
)
DECLARE mp_cursor CURSOR local forward_only read_only FOR
SELECT mpfriendlyname,
mpname,
managementpackid,
CONVERT(XML, mpxml)
FROM managementpack
OPEN mp_cursor
FETCH next FROM mp_cursor INTO @mpFriendlyName, @mpName, @mpId, @mpXml
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT n.value('@Alias', 'nvarchar(255)') AS mpRef
INTO #temprefs
FROM @mpXml.nodes('/ManagementPack/Manifest/References/Reference') AS a(
n)
IF EXISTS (SELECT Count(*)
FROM #temprefs
GROUP BY mpref
HAVING Count(*) > 1)
BEGIN
INSERT INTO #badmptable
(mpid,
mpname,
mpfriendlyname)
VALUES ( @mpId,
@mpName,
@mpFriendlyName )
END
DROP TABLE #temprefs
FETCH next FROM mp_cursor INTO @mpFriendlyName, @mpName, @mpId, @mpXml
END
CLOSE mp_cursor
DEALLOCATE mp_cursor
SELECT *
FROM #badmptable
DROP TABLE #badmptable
--End
Senaryo 1
PowerShell veya T-SQL betiğinin çıkışı değer döndürmezse, yinelenen yönetim paketi diğer adları yoktur. UR4 yükseltmesine devam edin.
Senaryo 2
Çıkış bir veya daha fazla satır döndürüyorsa aşağıdakileri yapın:
Yönetim paketi korumasızsa
Yönetim paketini konsolundan dışarı aktarın.
Bir metin düzenleyicisi kullanarak yönetim paketi XML'sini açın.
Yinelenen diğer adı belirleyin.
Başvuru altındaki diğer adlardan birini ve diğer adın XML gövdesinde kullanıldığı diğer tüm yerleri yeniden adlandırın.
Bu örnekte, System Center Operations Manager 2019 UR4'te yinelenen olarak kabul edilecek iki diğer adımız vardır.Diğer adların nerede kullanıldığını algılamak için AliasName ile XML'de arama gerçekleştirin. Bu durumda badalias. Başvurunun kullanıldığı yerleri not edin.
Bu diğer adlardan birini Başvuru altında benzersiz bir adla yeniden adlandırın ve eski adın tüm oluşumlarını yukarıdaki adımda algılanan yeni adla değiştirin.
Yinelenen diğer adlar yeniden adlandırıldıktan sonra yönetim paketini System Center Operations Manager'a yeniden aktarın.
Yönetim paketi korumalıysa
- Tercih aracına göre korumalı yönetim paketini açın.
- Yinelenen diğer adı belirleyin.
- Başvuru altındaki diğer adlardan birini ve diğer adın XML gövdesinde kullanıldığı diğer tüm yerleri yeniden adlandırın.
- System Center Operations Manager'da yönetim paketini yeniden oluşturun ve yeniden içeri aktarın.
- Aynı adımlar, XML düzenlemesi - Yönetim paketini mühürleme ve yönetim paketini yeniden içeri aktarma yoluyla da yapılabilir.
- Tercih aracına göre korumalı yönetim paketini açın.
Tüm yönetim paketlerinde azaltma işlemi yapıldıktan sonra PowerShell betiğini veya T-SQL betiğini yeniden çalıştırarak çıkış döndürmediğinden emin olun.
Çıktı olarak döndürülen her yönetim paketi için yukarıdaki adımları izleyin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin