WSUS utilise IIS pour installer les mises à jour automatiques compatibles WSUS (client WSUS) sur la plupart des ordinateurs. Ce processus est appelé mise à jour automatique des clients. Le processus d'installation WSUS crée un répertoire virtuel sous le site Web WSUS, nommé Selfupdate, contenant les fichiers de mise à jour automatique compatible WSUS. Le répertoire virtuel est appelé l'arborescence de mise à jour automatique.
La mise à jour automatique des clients ne fonctionne pas correctement. WSUS crée un répertoire virtuel SelfUpdate sur le port 80 qui est utilisé par les clients de mise à jour automatique. Le client de mise à jour automatique vérifie la version ; si celle-ci n'est pas à jour, le client télécharge et installe une nouvelle version. Pou ce faire, vous devez télécharger un fichier qui permet de vérifier la version, puis télécharger les fichiers binaires client appropriés pour cet ordinateur et ce système d'exploitation. Le contenu statique de ce répertoire et de ses sous-répertoires est disponible via un accès anonyme. Remarque : un second répertoire virtuel SelfUpdate sera créé lorsque le site Web Administration WSUS sera créé sur le port 8530.
Si vous utilisez une stratégie de groupe pour pointer les ordinateurs client vers votre serveur WSUS, une détection Mises à jour automatiques et une mise à jour automatique des clients doit automatiquement avoir lieu. Pour plus d'informations sur ce processus, consultez Déploiement de Microsoft Windows Server Update Services à l'adresse http://go.microsoft.com/fwlink/?linkid=41777&clcid=0x409.
Parmi les solutions possibles, citons notamment :
Vérifiez la connectivité réseau sur l'ordinateur client WSUS.
Ouvrez Internet Explorer.
Dans la barre d'adresse, tapez http://<WSUSServerName>/iuident.cab où <WSUSServerName> est le nom de votre serveur WSUS. Assurez-vous que vous êtes invité à télécharger ou à ouvrir iuident.cab. Cette opération vérifie la connectivité réseau à partir de l'ordinateur client WSUS et la disponibilité du fichier iuident.cab sur le serveur WSUS.
Si une boîte de dialogue vous invite à télécharger ou à enregistrer le fichier, cliquez sur Annuler.
Résolvez les problèmes d'ordre général liés aux services IIS.
Vérifiez que l'arborescence de mise à jour automatique existe sur le port 80, qui représente généralement le site Web par défaut.
Ouvrez une fenêtre de commande.
Tapez cscript <WSUSInstallDir>\setup\InstallSelfupdateOnPort80.vbs
Vérifiez les autorisations sur le répertoire des services Web du client.
Ouvrez une fenêtre de commande.
Tapez cd <WSUSInstallDir>\SelfUpdate
Tapez lcacls
Les entrées de contrôle d'accès (ACE) suivantes doivent être définies :
BUILTIN\Users:(OI)(CI)R
BUILTIN\Administrateurs :(OI)(CI)F
AUTORITÉ NT\SYSTÈME :(OI)(CI)F
Vérifiez la configuration IIS du service Web de création de rapports à l'aide l'outil adsutil.vbs de script IIS (ou utilisez l'outil d'interface utilisateur d'administration IIS).
Ouvrez une fenêtre de commande.
identifiez l'outil adsutil.vbs, qui se trouve généralement dans <InetpubDir>\AdminScripts.
Identifiez les répertoires virtuels WSUS sur le serveur IIS.
Tapez <InetpubDir>\AdminScripts\adsutil.vbs find path
Recherchez le chemin du service SelfUpdate (il devrait être semblable à W3SVC/<WebSiteID>/ROOT/SelfUpdate).
Affichez les propriétés du service Web.
Tapez <InetpubDir>\AdminScripts\adsutil.vbs enum W3SVC/<WebSiteID>/ROOT/SelfUpdate
Comparez la sortie aux valeurs types ci-dessous (il s'agit d'une liste partielle) :
KeyType : (STRING) "IIsWebVirtualDir"
Path : (STRING) "<WSUSInstallDir>\SelfUpdate"
AccessFlags : (INTEGER) 513
AccessExecute : (BOOLEAN) False
AccessSource : (BOOLEAN) False
AccessRead : (BOOLEAN) True
AccessWrite : (BOOLEAN) False
AccessScript : (BOOLEAN) True
AccessNoRemoteExecute : (BOOLEAN) False
AccessNoRemoteRead : (BOOLEAN) False
AccessNoRemoteWrite : (BOOLEAN) False
AccessNoRemoteScript : (BOOLEAN) False
AccessNoPhysicalDir : (BOOLEAN) False
AuthFlags : (INTEGER) 1
AuthBasic : (BOOLEAN) False
AuthAnonymous : (BOOLEAN) True
AuthNTLM : (BOOLEAN) False
AuthMD5 : (BOOLEAN) False
AuthPassport : (BOOLEAN) False
Tapez <InetpubDir>\AdminScripts\adsutil.vbs enum W3SVC/<WebSiteID>
Comparez la sortie aux valeurs types ci-dessous (il s'agit d'une liste partielle) :
KeyType : (STRING) "IIsWebServer"
ServerState : (INTEGER) 2
ServerComment : (STRING) « Default Website »
ServerSize : (INTEGER) 1
ServerBindings : (LIST) (1 Éléments)
":80:"
SecureBindings : (LIST) (1 Éléments)
":443:"
ConnectionTimeout : (INTEGER) 180
DefaultDoc : (STRING) "Default.htm,Default.asp,index.htm,iisstart.htm"
AspBufferingOn : (BOOLEAN) False
Win32Error : (INTEGER) 0
AppPoolId : (STRING) "DefaultAppPool"
Si ServerBindings ou SecureBindings contient des entrées du formulaire X.X.X.X:80, supprimez l'adresse IP et ne laissez que l'adresse du port ou ajoutez une autre liaison à l'ordinateur local 127.0.0.1:80. Tapez la commande <InetpubDir>\AdminScripts\adsutil.vbs set W3SVC/1/ServerBindings "127.0.0.1:80"
Consultez les paramètres IIS pour le service de publication Web.
Tapez <InetpubDir>\AdminScripts\adsutil.vbs enum W3SVC
Comparez la sortie aux valeurs types ci-dessous (il s'agit d'une liste partielle) :
MaxConnections : (INTEGER) 4294967295
AnonymousUserName : (STRING) "IUSR_<machinename>"
ConnectionTimeout : (INTEGER) 120
AllowKeepAlive : (BOOLEAN) True
CacheISAPI : (BOOLEAN) True
CGITimeout : (INTEGER) 300
ContentIndexed : (BOOLEAN) True
DownlevelAdminInstance : (INTEGER) 1
AspBufferingOn : (BOOLEAN) True
AspLogErrorRequests : (BOOLEAN) True
AspScriptErrorSentToBrowser : (BOOLEAN) True
AspScriptErrorMessage : (STRING) « Une erreur s'est produite sur le serveur lors du traitement de l'URL. Veuillez contacter l'administrateur système. »
AspAllowOutOfProcComponents : (BOOLEAN) True
AspScriptFileCacheSize : (INTEGER) 500
AspDiskTemplateCacheDirectory : (EXPANDSZ) "<windir>\system32\inetsrv\ASP Compiled Templates"
AspMaxDiskTemplateCacheFiles : (INTEGER) 2000
AspScriptEngineCacheMax : (INTEGER) 250
AspScriptTimeout : (INTEGER) 90
AspSessionTimeout : (INTEGER) 20
AspEnableParentPaths : (BOOLEAN) False
AspAllowSessionState : (BOOLEAN) True
AspScriptLanguage : (STRING) "VBScript"
AspExceptionCatchEnable : (BOOLEAN) True
AspCodepage : (INTEGER) 0
AspLCID : (INTEGER) 2048
AspQueueTimeout : (INTEGER) 4294967295
AspEnableAspHtmlFallback : (BOOLEAN) False
AspEnableChunkedEncoding : (BOOLEAN) True
AspEnableTypelibCache : (BOOLEAN) True
AspErrorsToNTLog : (BOOLEAN) False
AspProcessorThreadMax : (INTEGER) 25
AspTrackThreadingModel : (BOOLEAN) False
AspRequestQueueMax : (INTEGER) 3000
AspEnableApplicationRestart : (BOOLEAN) True
AspQueueConnectionTestTime : (INTEGER) 3
AspSessionMax : (INTEGER) 4294967295
AppAllowDebugging : (BOOLEAN) False
AppAllowClientDebug : (BOOLEAN) False
PasswordChangeFlags : (INTEGER) 6
AuthChangeUnsecure : (BOOLEAN) False
AuthChangeDisable : (BOOLEAN) True
AuthAdvNotifyDisable : (BOOLEAN) True
DirBrowseFlags : (INTEGER) 1073741886
EnableDirBrowsing : (BOOLEAN) False
DirBrowseShowDate : (BOOLEAN) True
DirBrowseShowTime : (BOOLEAN) True
DirBrowseShowSize : (BOOLEAN) True
DirBrowseShowExtension : (BOOLEAN) True
DirBrowseShowLongDate : (BOOLEAN) True
EnableDefaultDoc : (BOOLEAN) True
AuthFlags : (INTEGER) 1
AuthBasic : (BOOLEAN) False
AuthAnonymous : (BOOLEAN) True
AuthNTLM : (BOOLEAN) False
AuthMD5 : (BOOLEAN) False
AuthPassport : (BOOLEAN) False
InProcessIsapiApps : (LIST) (6 Éléments)
"<windir>\system32\inetsrv\httpext.dll"
"<windir>\system32\inetsrv\httpodbc.dll"
"<windir>\system32\inetsrv\ssinc.dll"
"<windir>\system32\msw3prt.dll"
"<windir>\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
"<windir>\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll"
LogOdbcDataSource : (STRING) "HTTPLOG"
LogOdbcTableName : (STRING) "InternetLog"
LogOdbcUserName : (STRING) "InternetAdmin"
WAMUserName : (STRING) "IWAM_COOLMACHINEC00"
AuthChangeURL : (STRING) "/iisadmpwd/achg.asp"
AuthExpiredURL : (STRING) "/iisadmpwd/aexp.asp"
AuthNotifyPwdExpURL : (STRING) "/iisadmpwd/anot.asp"
AuthExpiredUnsecureURL : (STRING) "/iisadmpwd/aexp3.asp"
AuthNotifyPwdExpUnsecureURL : (STRING) "/iisadmpwd/anot3.asp"
AppPoolId : (STRING) "DefaultAppPool"
IIs5IsolationModeEnabled : (BOOLEAN) False
MaxGlobalBandwidth : (INTEGER) 4294967295
MinFileBytesPerSec : (INTEGER) 240
LogInUTF8 : (BOOLEAN) False
AspAppServiceFlags : (INTEGER) 0
AspEnableTracker : (BOOLEAN) False
AspEnableSxs : (BOOLEAN) False
AspUsePartition : (BOOLEAN) False
AspKeepSessionIDSecure : (INTEGER) 0
AspExecuteInMTA : (INTEGER) 0
CentralBinaryLoggingEnabled : (BOOLEAN) False
AspRunOnEndAnonymously : (BOOLEAN) True
AspBufferingLimit : (INTEGER) 4194304
AspCalcLineNumber : (BOOLEAN) True
ApplicationDependencies : (LIST) (6 Éléments)
"Active Server Pages;ASP"
"Internet Data Connector;HTTPODBC"
"Server Side Includes;SSINC"
"WebDAV;WEBDAV"
"ASP.NET v1.1.4322;ASP.NET v1.1.4322"
"ASP.NET v2.0.50727;ASP.NET v2.0.50727"
WebSvcExtRestrictionList : (LIST) (8 Éléments)
"0,*.dll"
"0,*.exe"
"0,<windir>\system32\inetsrv\asp.dll,0,ASP,Active Server Pages"
"0,<windir>\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet Data Connector"
"0,<windir>\system32\inetsrv\ssinc.dll,0,SSINC,Server Side Includes"
"0,<windir>\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV"
"1,<windir>\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,0,ASP.NET v1.1.4322,ASP.NET v1.1.4322"
"1,<windir>\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727"
AspMaxRequestEntityAllowed : (INTEGER) 204800
[/w3svc/1]
[/w3svc/AppPools]
[/w3svc/Filters]
[/w3svc/Info]
Recherchez l'événement d'erreur correspondant :
Ouvrez une fenêtre de commande.
Tapez cd <WSUSInstallDir>\Tools
Entrez wsusutil checkhealth
Entrez eventvwr
Consultez les événements les plus récents dans le journal d'application à partir des Windows Server Update Services source, ainsi que l'événement d'ID 13040.
Target | Microsoft.Windows.Server.UpdateServices.2012.R2.Server | ||
Parent Monitor | Microsoft.Windows.Server.UpdateServices.2012.R2.Server.ClientRollup | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.UpdateServices.2012.R2.Server.SelfUpdateState" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.UpdateServices.2012.R2.Server" ParentMonitorID="Microsoft.Windows.Server.UpdateServices.2012.R2.Server.ClientRollup" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.UpdateServices.2012.R2.Server.SelfUpdateState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="SelfUpdateNotOK" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SelfUpdateOK" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Windows Server Update Services</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>13042</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Windows Server Update Services</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(13040|501|10000)$</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>