Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

WINRM : Résolution de l’erreur -2144108526 0x80338012

 

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-CommandScriptBlock {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

clip_image001

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

clip_image001[6]

2ème message d’erreur : serveur destination

clip_image002

2ème  Résolution : Taper GPEDIT.MSC puis activé : autoriser l’acces au environnement  distant (voir ci-dessous)

clip_image003

Puis le relancer  le script depuis le serveur source  sous powershell

######SERVEURS A TESTER################

$Computerdestination = "SRVxxx"

######SERVICES A VERIFER################

$Servicesname = "MSDTC"

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

RESULTAT : CONCLUANT

clip_image004

WINRM : Erreur-2144108387 0x8033809D

 

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:

image

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 :

clip_image001

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!

 

 

Lync 2013 – Lync client devient Skype Entreprise

Nouvelle interface

Dès aujourd’hui (mardi 14 avril 2015) Lync client devient Skype Entreprise (Skype for Business en anglais).
Cette modification apporte une refonte complète de l’interface Lync cliente. Les fonctionnalités de cette nouvelle version restent pour le moment inchangées (par rapport à Lync client 2013).
image

Activer ou désactiver Skype Entreprise

Il est pour le moment possible de désactiver l’interface Skype Entreprise pour les utilisateurs Lync Online.
Pour se faire il faut se connecter en PowerShell à Lync Online.
Téléchargement du module PowerShell pour Lync Online : http://www.microsoft.com/en-us/download/details.aspx?id=39366
Utilisez ensuite les commandes suivantes :
   Import-Module LyncOnlineConnector
   $session = New-CsOnlineSession –Credential username@domaine.com
   Import-PSSession $session

Remarque : Si le domaine du compte administrateur n’est pas @tenant.onmicrosoft.com, il faut ajouter le paramètre –OverrideAdminDomain « tenant.onmicrosoft.com » à la commande PS.
Lancez la commande Get-CsClientPolicy | ft Identity,EnableSkypeUI. Deux politiques existent déjà, une pour activer l’interface Skype et l’autre pour la désactiver.
image

Pour ajouter une politique à un utilisateur il faut lancer la commande suivante :
Get-CsOnlineUser Utilisateur@domaine.com | Grant-CsClientPolicy –PolicyName Police

image

image