Saya mencoba menemukan cara untuk membuat laporan WSUS tentang pembaruan yang telah disetujui untuk grup komputer A yang belum disetujui untuk satu atau lebih grup lain. Atau, laporan tabular yang mencantumkan status persetujuan untuk setiap pembaruan dan setiap grup, sehingga dapat diproses untuk mengekstrak apa yang saya butuhkan. Tampaknya tidak ada laporan seperti itu di WSUS itu sendiri, atau setidaknya tidak ada yang bisa saya temukan, jadi skrip untuk menghasilkan laporan seperti itu akan sangat disambut.
9
Jawaban:
Skrip PowerShell ini melakukan persis seperti apa permintaan awal Anda. Periksa satu computerGroup dan temukan pembaruan yang tidak disetujui untuk satu atau beberapa grup komputer lainnya.
Catatan Anda harus menjalankan ini pada server WSUS atau mesin yang memiliki alat Admin WSUS diinstal.
Konfigurasi
Setel
$targetComputerGroup
ke Grup Komputer yang ingin Anda gunakan sebagai garis dasar. Setel$CheckForMissing
ke nama-nama grup atau grup yang ingin Anda lihat apakah sudah disetujui. Catatan: Untuk melakukan beberapa koma hanya terpisah ("Group1, Group2")Ketika Selesai Anda akan memiliki output keluaran seperti:
Jika alih-alih menampilkan ke layar Anda ingin mengekspor daftar ke CSV ganti bagian bawah dengan kode berikut:
sumber
Seseorang dapat "cukup" terhubung ke database WSUS dan menjalankan query terhadapnya:
\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
menggunakan Otentikasi Windows .Tabel ini tampaknya menarik tentang pertanyaan Anda:
tbUpdate
Menyimpan informasi tentang pembaruan tunggal
tbTargetGroup
Menyimpan informasi tentang semua grup komputer
tbDeployment
Menyimpan informasi tentang pembaruan apa yang telah disetujui untuk grup komputer mana
Namun, tampaknya bermanfaat untuk menggunakan tampilan yang sudah ada
vUpdateApproval
untuk mengambil sebagian besar informasi yang Anda cari, karena tampilan ini sudah menerjemahkanActionID
kolom daritbDeployment
antara lain.The
vUpdateApproval
pandangan, bagaimanapun, tidak termasuk judul mudah dibaca untuk update. Judul biasanya dibacatbLocalizedProperty
. Untuk membuatnya lebih mudah bagi kita, ada pandangan lain:vUpdate
.Saya tidak benar-benar memiliki data yang tepat di basis data WSUS kami untuk membuat kueri yang tepat yang sesuai dengan permintaan pertama Anda (dan saya tidak cukup percaya diri untuk membuatnya secara membabi buta). Jadi, inilah pendekatan untuk permintaan sekunder Anda. Jika saya tidak mengacaukannya, itu menghasilkan daftar semua pembaruan dan status persetujuan untuk semua grup.
Yang menghasilkan output ini di SBS Jerman kami:
Untuk SBS kami dengan 5 grup standarnya, ini menghasilkan baris hasil 1.21558 dalam ~ 26d. Jadi, jika Anda ingin bermain-main dengan kueri, mungkin disarankan untuk mengubah baris pertama
SELECT TOP 1000
saat pengujian.Saya juga meluangkan waktu untuk membungkus semuanya menjadi skrip PowerShell:
Harap perhatikan bahwa skrip ini menyertakan
SELECT TOP 10
batasan untuk menghindari membanjiri shell Anda selama pengujian.sumber
myscript.ps1 | fl
untuk mendapatkan hasil (non-terpotong) yang berbeda.