Każdego dnia poprawki Microsoft mam dość dużą liczbę nowych aktualizacji, które chcę zatwierdzić dla moich klientów. Ale zamiast „Zatwierdź wszystkie aktualizacje i kontynuuj”, zbieram informacje o każdej aktualizacji w jej artykule z Bazy wiedzy, aby zdecydować, czy jest to dla nas ważna aktualizacja, czy nie.
To dość żmudne zadanie, ponieważ muszę wpisać odpowiedni numer KB w przeglądarce mojego klienta i czekać na załadowanie strony internetowej. Zastanawiałem się, dlaczego Microsoft nie używa pola opisu aktualizacji w panelu sterowania programu WSUS, aby wyświetlać naprawdę pomocne, szczegółowe informacje. Zamiast tego wszystkie moje aktualizacje brzmią:
Zainstaluj tę aktualizację, aby rozwiązać problemy w systemie Windows. Aby uzyskać pełną listę problemów zawartych w tej aktualizacji, zobacz powiązany artykuł z bazy wiedzy Microsoft Knowledge Base, aby uzyskać więcej informacji. Po zainstalowaniu tego elementu może być konieczne ponowne uruchomienie komputera.
Zacząłem myśleć o małym skrypcie Powershell, który dodaje mi niezbędnych informacji. Ale nie udało mi się na pierwszym etapie, który polega na ręcznej zmianie opisu aktualizacji:
PS C: \ Users \ Administrator> $ wsus = Get-WsusServer
PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0] .Opis
Zainstaluj tę aktualizację, aby rozwiązać problemy w systemie Windows. Aby uzyskać pełną listę problemów zawartych w tej aktualizacji, zobacz powiązany artykuł z bazy wiedzy Microsoft Knowledge Base, aby uzyskać więcej informacji. Po zainstalowaniu tego elementu może być konieczne ponowne uruchomienie komputera.PS C: \ Users \ Administrator> $ update [0] .Description = '"0x00000133" Zatrzymaj błąd, gdy w systemie Windows 8.1 lub Windows Server 2012 R2 występuje błąd "
PS C: \ Users \ Administrator> $ update [0]
.Opis „0x00000133” Zatrzymaj błąd, gdy w systemie Windows 8.1 lub Windows Server 2012 R2 wystąpił błądPS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0] .Opis
Zainstaluj tę aktualizację, aby rozwiązać problemy w systemie Windows. Aby uzyskać pełną listę problemów zawartych w tej aktualizacji, zobacz powiązany artykuł z bazy wiedzy Microsoft Knowledge Base, aby uzyskać więcej informacji. Po zainstalowaniu tego elementu może być konieczne ponowne uruchomienie komputera.
Wygląda na to, że moje zmiany nie są zatwierdzane w bazie danych. Albo brakuje mi czegoś, $wsus.SubmitChanges()
albo $wsus.SearchUpdates()
polecenie zwraca „update.Clone ()”, dzięki czemu moje zmiany są zapisywane do nikąd.
Jak mogę osiągnąć cel polegający na zmianie opisów aktualizacji WSUS?
źródło
$update[0].Description | Get-Member
Możesz być w stanie użyć.Replace()
funkcji członka, ale nie jest jasne, jak sobie z tym poradzić. Musisz jakoś zadzwonić,Set()
ale nie rozumiem od razu, jak to działa.Odpowiedzi:
Aktualizacja
Korzystając z poniższej odpowiedzi, stworzyłem małe narzędzie, które automatycznie dodaje opisy do mojego serwera WSUS. Postanowiłem opublikować moje narzędzie na Github, więc spróbuj go przetestować.
https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest
Oryginalna odpowiedź
Próbowałem rozwiązać problem z Get-Member, jak sugeruje mortenya w sekcji komentarzy, ale bez powodzenia.
Wreszcie skończyłem z bezpośrednią edycją bazy danych WSUS w celu zmiany opisu.
Bądź ostrożny! Skorzystaj z mojego rozwiązania tylko wtedy, gdy masz absolutną pewność, co robisz. Edycja bazy danych, od której zależy serwer, jest jak przeprowadzanie operacji na otwartym sercu u najlepszego przyjaciela.
Moja instalacja programu WSUS korzysta z wewnętrznej bazy danych Windows do przechowywania informacji o aktualizacji. Ponieważ ta wersja nie pozwala na zdalne zapytania, musiałem użyć lokalnej instalacji SQL Server Management Studio.
Połącz się z bazą danych, używając nazwy serwera podanej w powyższym artykule.
Udało mi się zmienić opis aktualizacji, uruchamiając to zapytanie:
Jest to tylko sposób na ręczne ustawienie opisu, dlatego zamierzam przeprowadzić dalsze eksperymenty, w jaki sposób uzyskać opisy bezpośrednio ze strony KB i zastosować je automatycznie do wszystkich nowych aktualizacji. Dodam informacje do tego postu.
źródło