Cách chấp nhận EULAs cho các bản cập nhật phần mềm được triển khai thông qua SCCM bằng Powershell


8

Tôi đang cố gắng sử dụng Start-CMSoftwareUpdateDeploymentlệnh ghép ngắn để triển khai nhóm cập nhật phần mềm vào bộ sưu tập hiện có.

PS WHO:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "Update Group - Microsoft Updates" -CollectionName `
Eval_OSUpdates -DeploymentType Required -SendWakeUpPacket $true -AllowRestart $true -PersistOnWriteFilterDevice $true `
-DownloadFromMicrosoftUpdate $true -DeploymentName "Evaluation Deployment - Update Group - Microsoft Updates" `
-UserNotification DisplayAll -RestartWorkstation $false -AllowUseMeteredNetwork $true

Tất cả các tham số bắt buộc được đưa ra, tuy nhiên tôi nhận được lỗi sau khi thực hiện:

Start-CMSoftwareUpdateDeployment : ConfigMgr Error Object:
instance of SMS_ExtendedStatus
{
    Description = "One or more updates are present for which a EULA exists which hasn't been approved.";
    ErrorCode = 1078462208;
    File = "e:\\nts_sccm_release\\sms\\siteserver\\sdk_provider\\smsprov\\sspciassignment.cpp";
    Line = 361;
    Operation = "PutInstance";
    ParameterInfo = "";
    ProviderName = "ExtnProv";
    StatusCode = 2147749889;
};
At line:1 char:1
+ Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "SoM Update Group - Mi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Microsoft.Confi...ploymentCommand:StartSoftwareUpdateDeploymentCommand) [Start-CMSoftware
   UpdateDeployment], WqlQueryException
    + FullyQualifiedErrorId : UnhandledExeception,Microsoft.ConfigurationManagement.Cmdlets.Sum.Commands.StartSoftwareUpdateDeployment
   Command

Tôi khá chắc chắn rằng tôi biết bản cập nhật nào cần EULA được chấp nhận, nhưng khi cố gắng tự động hóa bản cập nhật này, thật tuyệt khi chấp nhận bất kỳ EULAs nào theo chương trình và không có các bước thủ công trong quy trình.

Tôi thấy lệnh ghép ngắn Get-SoftwareUpdateLicense, nhưng tất cả những gì làm được đều trả về một chuỗi đẫm máu của EULA, không ai đọc được.

Một bước gần hơn hôm nay tôi đã tìm thấy một bài viết MSDN về phương thức AcceptEULA, nhưng tôi không biết cách gọi nó trên bản cập nhật, vì bản cập nhật thuộc loại SMS_SoftwareUpdate, nhưng phương thức đó không được liệt kê khi tôi chuyển sang Get-Membervà Tất nhiên chỉ cần cố gắng để willy nilly gọi phương thức ném lỗi.

Tóm lại, đó là nơi tôi bị mắc kẹt: Tôi không biết cách gọi phương thức WMI này trên một đối tượng SMS_SoftwareUpdate cụ thể, sử dụng powershell nếu điều đó tạo ra sự khác biệt.

Câu trả lời:


3

Vì không ai đọc EULA tại sao bạn không chấp nhận tất cả?

Get-WmiObject -ComputerName "sccmcs" -Class SMS_SoftwareUpdate -Namespace root\sms\site_ABC | 
    where {$_.EULAExists -eq $true} |
    foreach {$_.AcceptEula($true)}

Để xác minh, bạn có thể chạy cái này trước và sau

Get-WmiObject -ComputerName "sccmcs" -Class SMS_SoftwareUpdate -Namespace root\sms\site_ABC | 
    where {$_.EULAExists -eq $true} | select LocalizedDisplayName, EULAExists, EULAAccepted, EULASignoffDate, EULASignoffUser | ft

Tôi cho rằng điều này đáng để thử
MDMoore313
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.