Je suis en train d'écrire un script Powershell qui effectue les opérations suivantes:Utilisation du planificateur de tâches pour démarrer un script PowerShell après le redémarrage
- Télécharger & installer Windows Updates (fait)
- redémarre automatiquement (DONE)
- contrôles après le redémarrage s'il y a encore des mises à jour
- Retourne au début jusqu'à ce qu'il n'y a pas plus mises à jour à gauche
J'ai déjà construit mon script Powershell comme suit:
Import-Module PSWindowsUpdate
Get-Command –module PSWindowsUpdate
Add-WUServiceManager -ServiceID 7971f918-a847-4430-9279-4a52d1efe18d
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
Ce qui fonctionne parfaitement. Cependant, en fonction de certaines choses, il est possible qu'il existe encore des mises à jour disponibles après le redémarrage qui peuvent être téléchargées et installées. Ce que je veux faire est de continuer à exécuter le script ci-dessus après chaque redémarrage jusqu'à ce qu'il n'y ait plus de mises à jour à télécharger & installé.
Ce que j'ai découvert est le Task scheduler
dans Windows qui pourrait être utile.
Ce que j'ai construit est une « logique » pour vérifier s'il y a des mises à jour à gauche (et les installer):
$Output = (Get-WUInstall -MicrosoftUpdate -ListOnly) | Out-String
if($Output.Contains("Update"))
{
Write-Host "Updates Available, they will be installed..."
Get-WUInstall –MicrosoftUpdate –AcceptAll –AutoReboot
}else
{
Write-Host "There are no updates available. "
}
et le code de pièce ci-dessus fonctionne également parfaitement.
Ma question était d'informer de quelle façon je peux laisser ce script (ou plusieurs scripts?) Courent après chaque redémarrage jusqu'à ce qu'il n'y a pas plus mises à jour ...
gaucheMerci
Merci beaucoup TToni, mais je pensais, cela ne signifie-t-il pas que mon script continue de fonctionner après chaque redémarrage (même s'il n'y a plus de mises à jour?) . Ou considérez-vous cela comme un «script utilisé sur le long terme»? –
Vous pouvez ajouter une logique à votre script qui supprime la tâche planifiée lorsqu'il n'y a plus de mises à jour à installer, en utilisant cette cmdlet: 'Unregister-ScheduledTask' (Voir: https://blogs.technet.microsoft.com/heyscriptingguy/2015/01/16/powertip-utilisation-powershell-to-delete-tâche-programmée /) –
Merci Mark! Je vais le vérifier définitivement –