Aujourd’hui mon blog va porter sur l’erreur WINRM : 2144108387 0x8033809D que l’on peut retrouver sur tout les serveurs de : - Windows 2003 SP2 à Windows 2012 R2. Même en regardant dans l’observateur d’évènement ID 4 qui correspond à une solution TechNet qui n’est pas adapter à la situation.
PERIMETRE: Dans le cadre de l’organisation des reboots de 400 serveurs chez un de nos client, j’ai mis en place une vérification Post-démarrage de ces 400 serveurs.
Voici la commande du script powershell qui permet de vérifier la date les derniers redémarrage des serveurs, bien sûr l’exemple ci-dessous porte sur 1 serveur le but étant de démontrer l’erreur winrm.
SCRIPT:
$computer = "SRV01"
$LastBootUpTime = ([Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)).ToString("dd'/'MM'/'yyyy-HH'h'mm")
Invoke-Command -ScriptBlock { $LastBootUpTime } -ComputerName $computer
RESULTAT:
ACTIVATION WINRM:
Bien évidement tout ceci est conditionné par le fait qu’il faille activer winrm sur tout les serveurs et que le port 5985 doit être ouvert lui aussi (invoke-command est utilisé, il lance la commande à distance .
sur certains serveurs, j’ai rencontré des problèmes lié à l’activation de WINRM dont l’un des serveurs SRV01.
ERREUR :
IDENTIFICATION DE L’ERREUR : Apparemment lorsque le rôle serveur WEB est mis en place sur un serveur, il se peut que le TRANSPORT HTTP soit lié à un compte de service web exemple : SVC- WEB
Comment déterminer si un compte de service est attribué au service HTTP avec la commande exemple :
setspn –q */srv01
Une liste s’affiche ci-dessous : nous voyons clairement en violet que le service http est lié au compte de service web : SVC- WEB
Checking domain DC=domaine,DC=com
CN= SVC- WEB,OU=Utilisateur,OU=Ordinateurs,DC=domaine,DC=com
HTTP/SRV01
HTTP/SRV01.domaine.com
TERMSRV/SRV01
TERMSRV/SRV01.domaine.com
WSMAN/SRV01.domaine.com
RestrictedKrbHost/SRV01.domaine.com
HOST/ SRV01.domaine.com
WSMAN/SRV01
RestrictedKrbHost/SRV01
HOST/SRV01
Existing SPN found!
RESOLUTION :
à savoir que cela puisse ne pas être une solution car il faut déterminer si les SITES WEB s’appuie sur un compte de service web et si ce compte ne gère pas d’autre site web qui s’appuie dessus , alors la solution appliquer ne permettra plus d’effectuer sous IE une requête sur:
http://SRV01:80 ou http://SRV01:443 Par contre si avez mis en place un cluster NLB site web exemple : http/clustersrv01-02.domaine.com, alors la solution peut être envisager
La commande permettant de ne plus lier le service http au compte de service WEB (SVC-WEB) est la suivante :
- Setspn –D http://srv01 SVC-WEB
- Setspn –D http://srv01.domaine.com SVC-WEB
Lorsque vous effectuer de nouveau la commande query : setspn -q */srv01 nous voyons de nouveau qui est lié au compte d’ordinateur et plus au compte de service WEB si vous effectuer de nouveau WINRM QC cela fonctionnera.
Checking domain DC=domaine,DC=com
CN= SRV01,OU=server,OU=Ordinateurs,DC=domaine,DC=com
TERMSRV/SRV01
TERMSRV/SRV01.domaine.com
WSMAN/SRV01.domaine.com
RestrictedKrbHost/SRV01.domaine.com
HOST/ SRV01.domaine.com
WSMAN/SRV01
RestrictedKrbHost/SRV01
HOST/SRV01
Existing SPN found!