PI Services

Le blog des collaborateurs de PI Services

WINRM : Error 2147749890

Aujourd’hui mon blog va porter sur l’erreur WINRM : 2147749890                    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 serveurs chez un de nos client, j’ai mis en place une vérification Post-démarrage de ces serveurs.

Voici la commande du script powershell qui permet de vérifier si le service MSDTC commun à tout les serveurs de Windows 2003 SP2 à Windows 2012 R2.

MON SCRIPT DE BASE:

######SERVEURS A REDEMARRER################

$Computerdestination = "SRV02"

###SERVICES A ARRETER, REDEMARRER ou VERIFER##

$Servicesname = "MSDTC"

######LOG CREER POUR LA VERIFICATION DES SERVICES SUR CHAQUES SERVEURS + GESTION ERREUR ###

$StatusSvcRebootSRV = $NULL                                                                                $StatusSvcRebootSRV =

try {

Invoke-Command -ScriptBlock {param($ServicesName) Get-Service $ServicesName -ErrorAction stop | select PScomputerName,Status,Name   } -ArgumentList $ServicesName -ComputerName $Computerdestination 

}catch{

"error : " + $error[0]

}       

#GESTION ERREUR DES SERVICES

$ExitCodeService =

try {

if ($($StatusSvcRebootSRV.Status.value) -eq "Running") {

"success : $Computerdestination or $Servicesname"    

} else {

"error : " + $error[0]

}

}catch{

"Error : Syntaxe command ExitCodeService "

}   

$ExitCodeService

RESULTAT: malgré winrm activer et enable-psremoting + port 5985 ok

clip_image001[11]

-SessionOption (New-PSSessionOption -NoMachineProfile) qui a permis de résoudre le problème

 

MON SCRIPT CORRIGE BASE:

######SERVEURS A REDEMARRER################

$Computerdestination = "SRV02"

###SERVICES A ARRETER, REDEMARRER ou VERIFER##

$Servicesname = "MSDTC"

######LOG CREER POUR LA VERIFICATION DES SERVICES SUR CHAQUES SERVEURS + GESTION ERREUR ###

$StatusSvcRebootSRV = $null

$StatusSvcRebootSRV =

try {

Invoke-Command -ScriptBlock {param($ServicesName) Get-Service $ServicesName -ErrorAction stop | select PScomputerName,Status,Name   } -ArgumentList $ServicesName -ComputerName $Computerdestination -SessionOption (New-PSSessionOption -NoMachineProfile)

}catch{

"error : " + $error[0]

}       

#GESTION ERREUR DES SERVICES

$ExitCodeService =

try {

if ($($StatusSvcRebootSRV.Status.value) -eq "Running") {

"success : $Computerdestination or $Servicesname"

                                    } else {

"error : " + $error[0]

                                    }

}catch{

"Error : Syntaxe command ExitCodeService "

}   

$ExitCodeService

Ajouter un commentaire

Loading