MDM*_*313 8 powershell wmi update sccm-2012
我正在尝试使用Start-CMSoftwareUpdateDeploymentcmdlet 将软件更新组部署到现有集合。
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
Run Code Online (Sandbox Code Playgroud)
给出了所有必需的参数,但是我在执行时收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
我很确定我知道哪个更新需要接受 EULA,但是在尝试自动执行此操作时,最好以编程方式接受任何 EULA,并且在此过程中没有手动步骤。
我看到了 cmdlet Get-SoftwareUpdateLicense,但它所做的只是返回一个血腥的 EULA字符串,没有人阅读。
今天更近一步,我发现了一篇关于 AcceptEULA 方法的MSDN文章,但我不知道如何在更新时调用它,因为更新的类型是 SMS_SoftwareUpdate,但是当我通过管道传输到Get-Member和当然只是试图随意调用该方法会引发错误。
总而言之,这就是我遇到的问题:我不知道如何在特定的 SMS_SoftwareUpdate 对象上调用此 WMI 方法,如果这有所不同,则使用 powershell。
既然没有人阅读 EULA,为什么不全部接受呢?
Get-WmiObject -ComputerName "sccmcs" -Class SMS_SoftwareUpdate -Namespace root\sms\site_ABC |
where {$_.EULAExists -eq $true} |
foreach {$_.AcceptEula($true)}
Run Code Online (Sandbox Code Playgroud)
为了验证您可以在之前和之后运行它
Get-WmiObject -ComputerName "sccmcs" -Class SMS_SoftwareUpdate -Namespace root\sms\site_ABC |
where {$_.EULAExists -eq $true} | select LocalizedDisplayName, EULAExists, EULAAccepted, EULASignoffDate, EULASignoffUser | ft
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2210 次 |
| 最近记录: |