Sunny61 809 Geschrieben 14. September 2020 Melden Teilen Geschrieben 14. September 2020 Hier mal das Script wie es jetzt von Norbert getestet und für gut befunden wurde. Lehnt ab und löscht die Edge Versionen, die in dieses Raster fallen: %edge-Stable%x64% Die aktuellste und höchste Version bleibt bestehen. USE [SUSDB] GO -- Lehnt und löscht ersetzte Edge Updates ab. 29.08.2020 Declare @Anzahl int Set @Anzahl = (Select Count([Updateid]) as Anz FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Stable%x64%' and Isdeclined = 0 AND [UpdateID] NOT IN (Select TOP 1 [Updateid] FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Stable%x64%' and Isdeclined = 0 Order By SUBSTRING(DefaultTitle, CHARINDEX('(',DefaultTitle,1)+1, LEN(DefaultTitle) -CHARINDEX('(',DefaultTitle,1)-1) desc ) ) print @Anzahl -- Anzahl der Versionen ausgeben, die abgelehnt und gelöscht werden können. Declare @UpdateID1 uniqueidentifier IF @Anzahl = 0 Begin Print '=0!' RETURN END IF ( @Anzahl > 0 ) START: Begin -- Hier beginnt die eigentliche Schleife und Arbeit. :) While ( @Anzahl > 0 ) BEGIN SET @UpdateID1 = ( Select TOP 1 [Updateid] FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Stable%x64%' and Isdeclined = 0 AND [UpdateID] NOT IN (Select TOP 1 [Updateid] FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Stable%x64%' and Isdeclined = 0 Order By SUBSTRING(DefaultTitle, CHARINDEX('(',DefaultTitle,1)+1, LEN(DefaultTitle) -CHARINDEX('(',DefaultTitle,1)-1) desc ) Order By SUBSTRING(DefaultTitle, CHARINDEX('(',DefaultTitle,1)+1, LEN(DefaultTitle) -CHARINDEX('(',DefaultTitle,1)-1) desc ) -- Update ablehnen. Die Stored Procedure spDeclineUpdate ist im Original bei jedem WSUS in der SUSDB dabei. EXEC [SUSDB].[dbo].[spDeclineUpdate] @UpdateID1; -- Update löschen. Die Stored Procedure spDeleteUpdateByUpdateID ist im Original bei jedem WSUS in der SUSDB dabei. EXEC [SUSDB].[dbo].[spDeleteUpdateByUpdateID] @UpdateID1; -- Von der Gesamt Anzahl abziehen. SET @Anzahl-=1 END IF( @Anzahl > 0 ) GOTO Start ELSE --Wenn es keine Edge Versionen zum Ablehnen gibt, wird die SP/das Script verlassen. RETURN END Und hier noch das Script, das die Edge Updates aus den Dev-, Beta-, Stable-x86 und ARM64 Kanälen ablehnt. Das kann jeder natürlich auf seine Bedürfnisse anpassen. USE [SUSDB] GO -- Lehnt und löscht Edge Updates ab. 29.08.2020 Declare @Anzahl int Set @Anzahl = (Select Count([Updateid]) as Anz FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Dev%' OR DefaultTitle like '%edge-Beta%' OR DefaultTitle like '%edge-stable%x86%' OR DefaultTitle like '%edge-stable%ARM64%' ) print @Anzahl -- Anzahl der Versionen ausgeben, die abgelehnt und gelöscht werden können. Declare @UpdateID1 uniqueidentifier IF @Anzahl = 0 Begin Print '=0!' RETURN END IF ( @Anzahl > 0 ) START: Begin -- Hier beginnt die eigentliche Schleife und Arbeit. :) While ( @Anzahl > 0 ) BEGIN SET @UpdateID1 = ( Select TOP 1 [Updateid] FROM [SUSDB].[PUBLIC_VIEWS].[vUpdate] where DefaultTitle like '%edge-Dev%' OR DefaultTitle like '%edge-Beta%' OR DefaultTitle like '%edge-stable%x86%' OR DefaultTitle like '%edge-stable%ARM64%' ) -- Update ablehnen. Die Stored Procedure spDeclineUpdate ist im Original bei jedem WSUS in der SUSDB dabei. EXEC [SUSDB].[dbo].[spDeclineUpdate] @UpdateID1; -- Update löschen. Die Stored Procedure spDeleteUpdateByUpdateID ist im Original bei jedem WSUS in der SUSDB dabei. EXEC [SUSDB].[dbo].[spDeleteUpdateByUpdateID] @UpdateID1; -- Von der Gesamt Anzahl abziehen. SET @Anzahl-=1 END IF( @Anzahl > 0 ) GOTO Start ELSE --Wenn es keine Edge Versionen zum Ablehnen gibt, wird die SP/das Script verlassen. RETURN END 2 Zitieren Link zu diesem Kommentar
NorbertFe 2.089 Geschrieben 14. September 2020 Autor Melden Teilen Geschrieben 14. September 2020 Hi, vielen Dank auf jeden Fall. :) Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 14. September 2020 Melden Teilen Geschrieben 14. September 2020 Bitte, gern geschehen. :) Zitieren Link zu diesem Kommentar
Squire 272 Geschrieben 16. September 2020 Melden Teilen Geschrieben 16. September 2020 mal ne Frage zum Script ... wenn ich das über den Master-WSUS laufen lasse, fliegen die Updates dann bei der Replikation der Standort-WSUS Server mit dem Master dort auch raus, oder muss man das Script an jedem Standort laufen lassen? Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 16. September 2020 Melden Teilen Geschrieben 16. September 2020 Es sollten natürlich anschließend die Änderungen vom Replica gezogen werden, d.h. die Edge Updates müssen auch auf den Replicas nach der Synchronisierung verschwinden. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.