Estoy tratando de usar el Start-CMSoftwareUpdateDeployment
cmdlet para implementar un grupo de actualización de software en una colección existente.
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
Se proporcionan todos los parámetros requeridos, sin embargo, recibo el siguiente error tras la ejecució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
Estoy bastante seguro de saber qué actualización necesitaba el EULA aceptado, pero al intentar automatizar esto, sería bueno aceptar cualquier EULA mediante programación y no tener pasos manuales en el proceso.
Veo el cmdlet Get-SoftwareUpdateLicense
, pero todo lo que hace es devolver una cadena sangrienta del EULA, que nadie lee.
Un paso más cerca hoy, encontré un artículo de MSDN sobre el método AcceptEULA, pero no sé cómo llamarlo en la actualización, ya que la actualización es del tipo SMS_SoftwareUpdate, pero ese método no aparece en la lista cuando lo canalizo Get-Member
, y de Por supuesto, solo tratando de llamar al método willy nilly arroja un error.
Para resumir, ahí es donde estoy atascado: no sé cómo llamar a este método WMI en un objeto SMS_SoftwareUpdate en particular, usando powershell si eso hace la diferencia.
fuente