Estou tentando usar o Start-CMSoftwareUpdateDeployment
cmdlet para implantar um grupo de atualização de software em uma coleção 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
Todos os parâmetros necessários são fornecidos, no entanto, recebo o seguinte erro na execução:
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
Tenho certeza de que sei qual atualização precisava que o EULA fosse aceito, mas, ao tentar automatizar isso, seria bom aceitar qualquer EULA programaticamente e não ter etapas manuais no processo.
Eu vejo o cmdlet Get-SoftwareUpdateLicense
, mas tudo o que faz é retornar uma sequência sangrenta do EULA, que ninguém lê.
Hoje, um passo mais perto, encontrei um artigo do MSDN sobre o método AcceptEULA, mas não sei como chamá-lo na atualização, pois a atualização é do tipo SMS_SoftwareUpdate, mas esse método não está listado quando eu canalizo para Get-Member
, e de claro que apenas tentar chamar o método gera um erro.
Para resumir, é aí que estou preso: não sei como chamar esse método WMI em um objeto SMS_SoftwareUpdate específico, usando o PowerShell, se isso fizer diferença.
fonte