Appliquer les service packs.fichier msu) mise à jour à l'aide de powershell scripts sur le serveur local
Ce qu'il fait est le script récupère la .msu fichiers à partir d'un emplacement et des copies à l' "C:\temp\" le dossier.
Ensuite, le script récupère tous les .msu fichiers et les stocke les noms dans le tableau.
À l'aide de la boucle foreach, il tente d'appliquer le .msu mises à jour pour le serveur local sur lequel le script est en cours d'exécution.
Cependant lorsque je lance le script. Il ne fait rien.
Ci-dessous est le code
$from="sourceLocation\*.msu"
$to="C:\temp\"
Copy-Item $from $to -Recurse -Force
$listOfMSUs= (Get-ChildItem –Path $to -Filter "*.msu").Name
Write-Host $listOfMSUs
if($listOfMSUs)
{
foreach($msu in $listOfMSUs)
{
Write-Host "Processing The Update"
& wusa $to$msu /quiet /norestart
}
}
else{
Write-Host "MSUs doesnt exists"
}
Des suggestions s'il vous plaît?
Vous devez vous connecter pour publier un commentaire.
Vous de copier le fichier(s) à un local dossier (
C:\temp
), mais de l'exécuterwusa
sur un distance hôte. Que l'hôte peut avoir le même dossier local, mais vous n'avez pas de copie de la mise à jour(s) de ce dossier. Si vous souhaitez installer les mises à jour à partir d'un dossier local sur un ordinateur distant, vous devez les copier dans ce dossier sur l'hôte distant:Edit: Puisque vous voulez installer les mises à jour sur l'ordinateur hôte exécutant le script de votre code devrait fonctionner, en général, bien que je serais le simplifier un peu, par exemple comme ceci:
Contrôle de compte d'utilisateur est activé sur l'hôte? Dans ce cas, vous devez exécuter le Script "en tant qu'Administrateur" lors de l'exécution manuelle, soit avec l'option "exécuter avec les autorisations maximales" cochée lors de l'exécution du script en tant que tâche planifiée.
/install
. Vérifierwusa /?
.La réponse était simple. J'avais besoin d'un /installer paramètre de la commande.
De sorte que la ligne devrait être