Aujourd’hui mon 2ème blog va porter sur l’erreur WINRM : -2144108528 0x80338012 que l’on peut retrouver sur tout les serveurs de : - Windows 2003 SP2 à Windows 2012 R2. Là aussi pour trouver une solution sur internet est introuvable.
PERIMETRE: Dans le cadre de l’organisation des reboot 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 si le service MSDTC qui est commun au serveur 2000 à 2012 R2 , l’exemple ci-dessous porte sur 1 serveur le but étant de démontrer l’erreur winrm.
Nous allons utiliser le script powershell ci-dessous depuis le serveur source, pour rappel $computerdestination est la variable qui contient le nom du serveur distant.
######SERVEURS A TESTER################
$Computerdestination = "SRVxxx"
######SERVICES A VERIFER################
$Servicesname = "MSDTC"
Invoke-Command -ScriptBlock {param($ServicesName) Get-Service $ServicesName -ErrorAction stop | select PScomputerName,Status,Name } -ArgumentList $ServicesName -ComputerName $Computerdestination
Ce qu’il faut effectuer AVANT de lancer le script,ouvrir la console powershell
Taper sur le serveur de destination : WINRM QUICKCONFIG
1er message d’erreur : sur le serveur de destination
Le service Windows Remote Management (WS-management) WINRM n’est pas démarrer automatiquement et il refuse de démarrer automatiquement
1ère Résolution : Démarrer le service d’administration IIS (demarré –automatique) , puis relance sous powershell de winrm quickconfig , Set-WSManQuickConfig et Enabled-psremoting
2ème message d’erreur : serveur destination
2ème Résolution : Taper GPEDIT.MSC puis activé : autoriser l’acces au environnement distant (voir ci-dessous)
Puis le relancer le script depuis le serveur source sous powershell
######SERVEURS A TESTER################
$Computerdestination = "SRVxxx"
######SERVICES A VERIFER################
$Servicesname = "MSDTC"
Invoke-Command -ScriptBlock {param($ServicesName) Get-Service $ServicesName -ErrorAction stop | select PScomputerName,Status,Name } -ArgumentList $ServicesName -ComputerName $Computerdestination
RESULTAT : CONCLUANT