ฉันสามารถเปลี่ยนคำอธิบายการอัพเดทใน WSUS ได้หรือไม่?


11

ใน Microsoft Patch แต่ละวันฉันมีการอัปเดตใหม่จำนวนมากที่ฉันต้องการอนุมัติให้กับลูกค้าของฉัน แต่แทนที่จะเป็น 'อนุมัติการอัปเดตทั้งหมดและดำเนินการต่อ' ฉันรวบรวมข้อมูลเกี่ยวกับการอัปเดตแต่ละครั้งที่บทความฐานความรู้เพื่อตัดสินใจว่านี่เป็นการอัปเดตที่สำคัญสำหรับเราหรือไม่

นี่เป็นงานที่ค่อนข้างน่าเบื่อเพราะฉันต้องพิมพ์หมายเลข KB ตามลงในเบราว์เซอร์ของลูกค้าและรอให้หน้าเว็บโหลด ฉันสงสัยว่าทำไม Microsoft ไม่ใช้กล่องคำอธิบายการอัปเดตที่แผงควบคุม WSUS เพื่อแสดงข้อมูลที่เป็นประโยชน์และมีรายละเอียดที่แท้จริง การอัปเดตทั้งหมดของฉันจะอ่านแทน:

ติดตั้งโปรแกรมปรับปรุงนี้เพื่อแก้ไขปัญหาใน Windows สำหรับรายการปัญหาทั้งหมดที่รวมอยู่ในการปรับปรุงนี้ให้ดูบทความฐานความรู้ของ Microsoft ที่เกี่ยวข้องสำหรับข้อมูลเพิ่มเติม หลังจากที่คุณติดตั้งรายการนี้คุณอาจต้องรีสตาร์ทคอมพิวเตอร์

ฉันเริ่มคิดถึง Powershell script เล็กน้อยซึ่งเพิ่มข้อมูลที่จำเป็นสำหรับฉัน แต่ฉันล้มเหลวในขั้นตอนแรกซึ่งกำลังเปลี่ยนคำอธิบายการอัปเดตด้วยตนเอง:

PS C: \ Users \ Administrator> $ wsus = Get-WsusServer

PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')

PS C: \ Users \ Administrator> $ update [0] คำอธิบาย
ติดตั้งโปรแกรมปรับปรุงนี้เพื่อแก้ไขปัญหาใน Windows สำหรับรายการปัญหาทั้งหมดที่รวมอยู่ในการปรับปรุงนี้ให้ดูบทความฐานความรู้ของ Microsoft ที่เกี่ยวข้องสำหรับข้อมูลเพิ่มเติม หลังจากที่คุณติดตั้งรายการนี้คุณอาจต้องรีสตาร์ทคอมพิวเตอร์

PS C: \ Users \ Administrator> $ update [0] .Description = '"0x00000133" หยุดข้อผิดพลาดเมื่อฮาร์ดแวร์ผิดพลาดใน Windows 8.1 หรือ Windows Server 2012 R2'

PS C: \ Users \ Administrator> $ update [0]. คำอธิบาย
"0x00000133" หยุดข้อผิดพลาดเมื่อมีฮาร์ดแวร์ผิดพลาดใน Windows 8.1 หรือ Windows Server 2012 R2

PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')

PS C: \ Users \ Administrator> $ update [0] คำอธิบาย
ติดตั้งโปรแกรมปรับปรุงนี้เพื่อแก้ไขปัญหาใน Windows สำหรับรายการปัญหาทั้งหมดที่รวมอยู่ในการปรับปรุงนี้ให้ดูบทความฐานความรู้ของ Microsoft ที่เกี่ยวข้องสำหรับข้อมูลเพิ่มเติม หลังจากที่คุณติดตั้งรายการนี้คุณอาจต้องรีสตาร์ทคอมพิวเตอร์

ดูเหมือนว่าการเปลี่ยนแปลงของฉันไม่ได้มุ่งมั่นกับฐานข้อมูล อาจเป็นเพราะฉันไม่มีการเรียงลำดับ$wsus.SubmitChanges()หรือ$wsus.SearchUpdates()คำสั่งส่งคืน 'update.Clone ()' เพื่อให้การเปลี่ยนแปลงของฉันได้รับการบันทึก

ฉันจะบรรลุเป้าหมายในการเปลี่ยนแปลงคำอธิบายการอัพเดท WSUS ได้อย่างไร


$update[0].Description | Get-Memberคุณอาจสามารถใช้.Replace()ฟังก์ชันสมาชิกได้ แต่มันไม่ชัดเจนว่าจะจัดการกับการเปลี่ยนแปลงอย่างไร คุณจะต้องเรียกอย่างใดSet()แต่ฉันไม่เห็นว่าวิธีการทำงาน
mortenya

คำถามที่เกี่ยวข้องกับ SuperUser ถามเกี่ยวกับสิ่งที่คุณอาจแก้ไขได้แล้ว: วิธีรับคำอธิบายที่มีความหมายของการอัปเดตแต่ละครั้ง ดูเหมือนว่าคุณจะแก้ไขส่วนนั้นแล้วฉันจะขอบคุณมากถ้าคุณสามารถดู superuser.com/q/878753/99136
krlmlr

@krlmlr ฉันต้องพลาดความเห็นของคุณสำหรับคำถามนี้ ตอนนี้ฉันได้สร้างโปรแกรมจริงสำหรับปัญหาที่อธิบายไว้ที่นี่ฉันโพสต์คำตอบสำหรับคำถามข้างต้นในหน้า Superuser
Physikbuddha

คำตอบ:


7

ปรับปรุง

ด้วยการใช้คำตอบด้านล่างฉันสร้างเครื่องมือขนาดเล็กที่เพิ่มคำอธิบายลงในเซิร์ฟเวอร์ WSUS ของฉันโดยอัตโนมัติ ฉันตัดสินใจที่จะเผยแพร่เครื่องมือของฉันใน Github ดังนั้นอย่าลังเลที่จะลองและทดสอบมัน

https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest

ภาพตัวอย่าง

คำตอบเดิม

ฉันพยายามที่จะแก้ปัญหากับ Get-Member ตามที่Mortenyaแนะนำในส่วนความคิดเห็น แต่ไม่มีโชค
ในที่สุดฉันก็ลงเอยด้วยการแก้ไขฐานข้อมูล WSUS โดยตรงเพื่อเปลี่ยนคำอธิบาย

ระวัง! ใช้วิธีแก้ปัญหาของฉันก็ต่อเมื่อคุณแน่ใจอย่างแน่นอนว่าคุณกำลังทำอะไรอยู่ การแก้ไขฐานข้อมูลเซิร์ฟเวอร์ของคุณนั้นขึ้นอยู่กับว่าเป็นการผ่าตัดหัวใจแบบเปิดกับเพื่อนที่ดีที่สุดของคุณ

การติดตั้ง WSUS ของฉันใช้ฐานข้อมูลภายในของ Windowsเพื่อจัดเก็บข้อมูลการอัพเดท เนื่องจากรุ่นนี้ไม่อนุญาตการสอบถามระยะไกลฉันต้องใช้การติดตั้ง SQL Server Management Studio แบบโลคัล
เชื่อมต่อกับฐานข้อมูลโดยใช้ชื่อเซิร์ฟเวอร์ที่ระบุโดยบทความที่ลิงก์ด้านบน

ฉันสามารถเปลี่ยนคำอธิบายการอัปเดตโดยเรียกใช้แบบสอบถามนี้:

UPDATE tbPreComputedLocalizedProperty
SET Description = '"0x00000133" Stop error when there''s faulty hardware in Windows 8.1 or Windows Server 2012 R2'
FROM tbPreComputedLocalizedProperty p
JOIN tbUpdate u ON p.UpdateID = u.UpdateID
JOIN tbRevision r ON u.LocalUpdateID = r.LocalUpdateID
JOIN tbKBArticleForRevision kb ON r.RevisionID = kb.RevisionID
WHERE kb.KBArticleID LIKE '3013791' AND p.ShortLanguage = 'en'
GO

นี่เป็นวิธีตั้งค่าคำอธิบายด้วยตนเองดังนั้นฉันจะทำการทดลองเพิ่มเติมเกี่ยวกับวิธีรับคำอธิบายโดยตรงจากเว็บไซต์ KB และนำไปใช้กับการอัปเดตใหม่ทั้งหมดโดยอัตโนมัติ ฉันจะเพิ่มข้อมูลในโพสต์นี้


เกือบจะแน่นอนคุณควรทำเครื่องหมายของคุณเองคำตอบที่ได้รับการยอมรับ คำตอบที่ตัวเองได้รับการสนับสนุนแม้กระทั่ง
jscott
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.