Có thể cài đặt các bản cập nhật windows từ dòng lệnh không? Công cụ cập nhật đồ họa dường như không hoạt động tốt trong Windows 7. Đôi khi, đôi khi không, ... Vấn đề của tôi là tôi không thể thấy bất kỳ bản cập nhật nào khi nhấp để xem danh sách chi tiết. Vì vậy, khi có các bản cập nhật không được kiểm tra theo mặc định, tôi không thể cài đặt chúng ...
Vì vậy, có cách nào khác để tôi có thể cài đặt chúng không?
Không chắc chắn về Windows 7, nhưng với XP/Vista, bạn có thể chạy lệnh sau để phát hiện và tải xuống các bản cập nhật:
wuauclt /detectnow /reportnow
Nếu bạn gặp sự cố khiến nó hoạt động, hãy xem WSUS Wiki .
Mặt khác, nếu bạn có một bản cập nhật cụ thể mà bạn muốn, chỉ cần tải xuống từ trang web của Microsoft. Nếu có một số vấn đề ngăn bạn cài đặt, đó là cách tốt nhất để tìm hiểu, vì nhật ký Windows Update là hợp lý để giải quyết.
Bạn có thể sử dụng tập lệnh để kiểm tra, tải xuống và cài đặt các bản cập nhật đồng bộ. Tôi thường sử dụng một phiên bản sửa đổi của vbscript này để vá thủ công các máy chủ Windows Core.
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
addThisUpdate = false
If update.InstallationBehavior.CanRequestUserInput = true Then
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because it requires user input"
Else
If update.EulaAccepted = false Then
WScript.Echo I + 1 & "> note: " & update.Title & _
" has a license agreement that must be accepted:"
WScript.Echo update.EulaText
WScript.Echo "Do you accept this license agreement? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
update.AcceptEula()
addThisUpdate = true
Else
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because the license agreement was declined"
End If
Else
addThisUpdate = true
End If
End If
If addThisUpdate = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
End If
Next
If updatesToDownload.Count = 0 Then
WScript.Echo "All applicable updates were skipped."
WScript.Quit
End If
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
rebootMayBeRequired = false
WScript.Echo vbCRLF & "Successfully downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> " & update.Title
updatesToInstall.Add(update)
If update.InstallationBehavior.RebootBehavior > 0 Then
rebootMayBeRequired = true
End If
End If
Next
If updatesToInstall.Count = 0 Then
WScript.Echo "No updates were successfully downloaded."
WScript.Quit
End If
If rebootMayBeRequired = true Then
WScript.Echo vbCRLF & "These updates may require a reboot."
End If
WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If
Nó dường như hoạt động như một cơ duyên cho điều đó nhưng tất nhiên tôi đã không thử nghiệm nó trong Windows 7. Ngoài ra còn có một liên kết đến một bài viết khác để nhắm mục tiêu một bản cập nhật cụ thể nếu cần.
Ngoài ra còn có một mô-đun Powershell cho thấy trải nghiệm tương tự.
Sau khi xem nhanh, tôi cũng tìm thấy ứng dụng của bên thứ ba này cũng sử dụng API cập nhật, nhưng với một số tùy chọn khác (mặc dù yêu cầu bạn phải tin tưởng mã của bên thứ ba).
Cập nhật Windows từ Dòng lệnh:
www.sysadminsoftware.com/udc.html
Công cụ (Cập nhật chỉ huy triển khai) có thể làm những gì bạn đang yêu cầu. Bạn cũng có thể truyền tham số để tránh các bản vá nhất định, nhắm mục tiêu cập nhật cụ thể, khởi động lại N phút sau khi hoàn thành, tạo báo cáo trong CSV, v.v. Nó cũng đi kèm với một vài tiện ích GUI.
Nếu bạn phải vá các hệ điều hành Windows, đặc biệt sau khi cài đặt mới, hãy xem xét nghiêm túc Trình cập nhật ngoại tuyến .
Nó sử dụng các tập lệnh để tải xuống tất cả các bản vá mà bạn đề xuất (vì vậy Win2000, Win XP, Win 2003, Vista, Win2008, Win2012 32 và 64 bit khi thích hợp), đa ngôn ngữ, gói dịch vụ, khung .NET và bản vá Office (XP, 2000 , 2003, 2007).
Khi bạn đã tải xuống tất cả, bạn chỉ cần cập nhật mọi bản vá vào thứ ba và chỉ nhận được các thay đổi. Mặc dù nó có được catalouges và chúng ngày càng dài hơn mỗi ngày (nhiều megs hiện trên mỗi vòng quay OS/Office).
Khi bạn đã tải xuống các tệp trên máy cục bộ của mình, sẽ có một tập lệnh để tạo hình ảnh CD/DVD của chúng (nó sẽ tự động cho hình ảnh DVD trên mỗi hệ điều hành ngay bây giờ nếu bạn muốn).
Những gì tôi làm là sử dụng thẻ nhớ SD 4GB, trong đầu đọc thẻ SD nhằm tôn vinh tab bảo vệ ghi. Tôi đã từng sử dụng thẻ 2GB, nhưng tôi chỉ có thể vừa với Win XP và hầu hết các Office đều được xây dựng trên đó, vì vậy tôi đã chuyển sang thẻ 4GB.
Do đó, khi xử lý sự cố máy, tôi tin rằng việc chèn thiết bị trước đây có thể ghi này vào máy bị nhiễm virus không đáng tin cậy (vì tôi không biết gì về nó, tôi cho rằng thiết bị của mình bị nhiễm) khi biết thiết bị của mình được bảo vệ chống ghi.
Vì vậy, tôi có thể vá nó đến nay là bước đầu tiên.
Nếu bạn sử dụng tự động chạy hoặc khởi chạy chương trình thực thi trên thiết bị (khóa, HD, CD, DVD bên ngoài, bất cứ nơi nào bạn viết), nó sẽ khởi động một tập lệnh sử dụng dịch vụ Windows Update trên máy cục bộ để áp dụng tất cả các bản cập nhật, nhưng thay vào đó khi đi qua dây để tải xuống, nó chỉ sử dụng bản sao cục bộ.
Do đó, vẫn có thể mất hơn 1 giờ để cập nhật máy WinXP lên SP và bản vá lỗi mới nhất, nhưng không có lưu lượng mạng nào trên đường đi và bạn có thể thực hiện hoàn toàn với cáp Ethernet được rút hoàn toàn .
Công cụ hữu ích đáng kinh ngạc!
Không nên chạy afoul của Microsoft, giống như những người AutoUpdate, những người đang xây dựng một bản vá CD, đã phân phối hình ảnh CD. Công cụ này cập nhật các tập lệnh và bạn phải lấy tất cả các bản vá trên máy trạm Windows được cấp phép của mình.
Hiện tại tôi không thể thêm nhận xét vào câu trả lời by duffbeer7 , vì vậy đây là một câu trả lời riêng biệt:
Phiên bản "tốt" cuối cùng của liên kết đến WSUSwiki được lưu trữ trên Internet Archive là this . Các tùy chọn được đưa ra trong câu trả lời ban đầu được mô tả trong mục Câu hỏi thường gặp .