XenApp_Check

MAJ :03/12/2014
Version : 2.6 (XA6x)

Le check du nombre de serveur(s) publié(s) au sein d’une application comprend désormais les Worker Groups (section “Server in Application(s)”)

XenAppcheck_26


 

Afin de connaitre l’état de nos fermes XenApp, nous avons mis en place un script powershell (XenApp_Check.ps1) afin que ce dernier nous remonte un ensemble d’informations permettant de se faire une idée précise de l’état de nos fermes XenApp.

XenApp_Check va générer un fichier .htm et procéder à un envoi de mail du rapport (format .html) afin que vous puissiez être informé où que vous soyez.

XenApp_Check (tout comme XenApp_InfoFarm) est très fortement inspiré pour la partie graphique du script vcheck de la communauté Vmware.

XenApp_Check va remonter une série d’informations permettant d’avoir une synthèse de la ferme XenApp accompagnée du résultat d’une série de checks (détaillés plus bas dans ce billet) permettant d’avoir un instantané de l’état de la ferme XenApp (très pratique le matin quand les admins arrivent par exemple, ou si vous devez intervenir sur une ferme XenApp que vous n’avez jamais administré 🙂 ).

XenApp_Check a été testé sur des serveurs Windows 2003 Fr sp2 et des fermes XenApp 5 fr en R01,R03 et R06, XenApp_CheckXA6 a été testé sur des serveurs 2008 R2 sp1 et des fermes en XenApp 6 R01.

Partie information :

  • Nom de la ferme
  • Type de datastore
  • Serveur licence XenApp et son port
  • Nombre d’application(s) de la ferme
  • Nombre de serveur(s) de la ferme
  • Nombre de stratégie(s) de la ferme
  • Nombre de calculateur(s) de charge de la ferme
  • Nombre d’administrateur(s)

Continue reading “XenApp_Check”

Post to Twitter

Envoi par mail d’un rapport DsCheck

Le script ci-dessous va vous permettre de recevoir par mail le résultat d’une commande DSCHECK au sein de votre ferme.

Il ne reste plus qu’à mettre le script dans une tâche planifiée 😉 .

#DsCheck report V1
$farm = Get-XAFarmConfiguration
$DsCheckReport =  &'C:\Program Files\Citrix\System32\dscheck.exe'

Foreach ($line in $DsCheckReport)
{
if($line -eq "") {} else {$DscheckLine += $line+"`n"}
}

$BodyReport += $DscheckLine
#Send mail "Report DsCheck"
$emailFrom = "DsCheckReport@yourDomain.fr"
$emailTo = "Your Adresse Email"
$subject = "DsCheck Report : "+$Farm
$body = $BodyReport
$smtpServer = "Your SMTP Server"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)


Le rapport reçu par mail

Post to Twitter

Activer/Désactiver l’ouverture de session TS par le registre

Si vous devez activer/désactiver l’ouverture de session Terminal Server sur un serveur distant et que vous ne souhaitez pas passer par TSLOGINS (ou autres), une solution est de le faire via le registre (modification de la valeur WinStationsDisable) .

La valeur WinStationsDisable se trouve dans :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
“WinStationsDisabled”=”0”
0 = Logon On
1 = Logon Off

Connectez vous au registre du serveur distant (faite un regedit puis allez dans le menu “Fichier” et choisissez  “Connexion au Registre réseau”) et modifiez la valeur WinStationsDisable.

Si la modification via le registre ne vous tente pas trop, vous pouvez le faire en powershell :
$Hostname = "Your Server"
$Registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Hostname)
$WinStationsDisabled = $Registry.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",$true)
$WinStationsDisabled.SetValue('WinStationsDisabled','0','String')
Write-Host $Hostname " WinStationsDisabled " $WinStationsDisabled.GetValue('WinStationsDisabled')

Post to Twitter

XenApp_InfoFarm : Script de remontée d’informations XenApp


MAJ : 27/01/2011
Ajout de la colonne “Calculateur de charge” dans la section “Server(s)”.
Modification de la méthode (qui reste encore à améliorer côté code) du changement de couleur des évènements type “FALSE”.

18/01/2011

Si comme nous, vous avez besoin de remonter les informations principales de vos fermes XenApp sans passer par EdgesSight, le script powershell Xenapp_InfoFarm vous permettra facilement de le faire (dans notre cas avec une tâche planifiée pour une mise à jour quotidienne).

Côté présentation nous nous sommes inspirés (très fortement même) du script vcheck (merci à Alan et Hypervisor.fr) de la communauté Vmware.

Côté fonctionnel vous avez juste besoin de powershell et des cmdlets XenApp (CTP) 😉 .

XenApp_InforFarm est composé de deux fichiers (joint à ce billet), le script powershell  “XenApp_InforFarm.ps1” et le fichier de fonctions “Ctx_Functions.ps1”

XenApp_InforFarm  permet de remonter les informations suivantes :

Partie Generals Details :

  • Nom de la ferme
  • Type de Datastore
  • Serveur Datastore
  • Serveur de licence et le port
  • Nombre de serveurs dans la ferme
  • Nombre d’applications dans la ferme
  • Nombre de zones
  • Nombre de calculateurs de charges
  • Nombre de stratégies
  • Nombre d’administrateur

Partie Zone Details :
Classement alphabétique par nom de zone.

  • Nom de la zone
  • DataCollector

Partie Load Evaluator(s) Details :
Classement par priorité des stratégies

  • Nom du calculateur de charge
  • Description


Partie Policy(s) details :

Classement par priorité des stratégies.

  • Nom de la stratégie
  • Description
  • Priorité
  • Statut (en rouge les stratégies désactivées)

Partie Administrator(s) détails :
Classement par ordre alphabétique des comptes administrateurs.

  • Compte Administrateur
  • Type de permission
  • Statut


Partie Application(s) Details :
Classement par ordre alphabétique des dossiers applications.

  • Nom de l’application
  • Description
  • Dossier
  • Statut (en rouge les applications désactivées)


Partie Server(s) Details :

Classement par ordre alphabétique des dossiers servers.

  • Nom du serveur
  • IP
  • Dossier
  • Zone
  • Logon activé
  • Type d’édition XenApp
  • Date d’installation XenApp


Fonctionnement du script :

  • Renommer les fichiers en .ps1
  • Copié les fichiers dans le répertoire de votre choix et modifier le fichier XenApp_InfoFarm.ps1 à la ligne6, et indiquer le chemin du fichier Ctx_Functions.ps1.
  • Exécuté le script XenApp_InfoFarm.ps1
  • Consulter le fichier “XenApp_InfoFarm-Nom de votre ferme.html” créé par le script

XenApp_infoFarm a été testé sur une ferme en XenApp 5 (2003 Sp2 Fr) en R06.

Vos remarques et suggestions sont les bienvenus 🙂 .

Télécharger :
XenApp-InfoFarm
Ctx_Functions

Post to Twitter

Script : lister les serveurs d’un calculateur de charge

Quoi de plus utile qu’un calculateur de charge de “maintenance” permettant d’isoler un ou plusieurs serveurs de leurs applications publiées ceci afin de pouvoir effectuer des mises à jour (ou autres) sans supprimer ces mêmes serveurs de leurs applications publiées.

Une fois ces serveurs en “maintenance”, les administrateurs peuvent avoir besoin de savoir quels sont les serveurs concernés par cette maintenance (dans notre cas plusieurs fermes administrées par plusieurs administrateurs)

Le script powershell (merci à CloudyDude pour le tips du formatage) ci-dessous va lister les serveurs appartenant au calculateur de charge “maintenance”, puis enverra un mail aux administrateurs avec la liste de ces serveurs (l’idéal étant de mettre ce script en tâche planifiée)

$farm = Get-XAFarm
$LoadEval = “MAINTENANCE”
$XA_Load = get-xaserver -LoadevaluatorName $LoadEval | Select ServerName | sort ServerName| out-string


$emailFrom = “CTX-” +$farm +”@domain.fr”
$emailTo = “email
@domain.fr
$subject = “Farm : ” +$farm + ” – Server(s) in Load Evaluator ” +$LoadEval
$body = $XA_Load
$smtpServer = “VotreSmtp”
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

Post to Twitter

Script inventaire d’installation d’un Rollup Pack

———————–
MAJ : 27/12/2010
———————–
Modification du script.
Dans le fichier de log, les serveurs avec et sans le rollup pack sont désormais séparés en deux listes distinctes (les hots sont classés par ordre alphabétique)



—————
12/01/2010
—————
Si vous êtes en train de passer un Rollup Pack sur une ferme PS 4.0 (dans notre cas), et que vous souhaitez connaître l’avancement de l’installation du Rollup Pack sur votre ferme.

Le script Farm_RollupV1.wsf vous permet de lister tous les serveurs membre d’une ferme, et vous indique si le Rollup Pack est installé ou pas sur chaque serveur.

Dans le script vous modifiez la variable MyRollup ligne 70, afin de précisez le Rollup Pack que vous souhaitez inventorier.

Une fois le script exécuté, un fichier nommé XenApp_NomDeVotreFerme-MyRollup.txt est créer à la racine du C: (vous pouvez modifier le nom et l’emplacement aux lignes 74 et 77).

Liste des serveurs avec Rollup Pack installé (dans l’exemple le Rollup Pack 6 pour une PS 4.0)

Si le Rollup Pack n’est pas installé (dans l’exemple un Rollup Pack 05 pour une PS 4.0)


A la fin du fichier vous avez trois totaux :

  • Total des serveurs avec le Rollup Pack installé
  • Total des serveurs sans le Rollup Pack
  • Total des serveurs membre de la ferme

Soyez indulgent avec le code 😉

Post to Twitter

Convertir un fichier batch en .exe

Lors d’une mise à jour applicative, nous avons eu besoin de compiler un script batch en .exe.

Certains utilitaires le font très bien (Bat to Exe Converter par exemple) , cependant suite à un tweet de nos collègues d’Hypervisor.fr, nous avons voulu tester Iexpress.

L’avantage de Iexpress est qu’il est natif à Windows, l’utilisation est simple et permet de convertir un fichier .bat en .exe rapidement.

Allez dans le menu démarrer-Exécuter, puis tapez la commande “Iexpress”.

Bien que Bat to Exe Converter soit plus complet, Iexpress permet de faire l’essentiel le tout en natif 😉 .

Post to Twitter

Script : Vérification des services XenApp après le passage d’un Rollup Pack

Suite au passage du R06 (pour XenApp 5 2003), nous avions besoin de connaître l’état des services XenApp après l’installation du R06 (l’installation du R06 et de ses pré-requis est faite via Installation Manager)

Nous avons mis en place un script (Testing_Services.vbs, renommez le fichier Testing_Services.txt joint dans ce billet en Testing_Services.vbs) afin de pouvoir faire un état des services XenApp après le passage du R06.

Actions du script Testing_Services.vbs :

  • Vérification de l’état des principaux services XenApp
  • Vérifiez que l’ouverture de session est bien activée
  • Suppression du fichier dotnetfx35_SP1.exe (présent dans le (c:\windows\temp\dotnetfx35_SP1.exe des serveurs), la partie java étant installée que sur les serveurs publiant la CMC, le script n’en tient pas compte)
  • Création d’un fichier de log “Log_Testing_Services.txt

Fonctionnement du script :

  • Créez un fichier serveurs.txt (chaque ligne de ce fichier contient le Hotsname d’un serveur déjà patché en R06)
  • Copiez dans le même emplacement le script Testing_Services.vbs
  • Exécutez le script Testing_Services.vbs
  • Double cliquez sur le fichier Log_Testing_Services.txt

Le script Testing_Services.vbs peut aussi est utilisé lors de passage autre que le R06 😉 .

Voir aussi le billet “Script inventaire d’installation d’un Rollup Pack” afin de connaitre la liste des serveurs patchés dans une version Rollupack.

Post to Twitter

Script : Supprimer la dépendance IPSEC du service IMA

Si dans votre architecture l’IPsec n’est pas mis en place, il est alors inutile de laisser l’IPsec dans les dépendances du service IMA, et de laisser le service IPsec en mode de démarrage automatique.

Le script Remove_IpSec_On_IMA.vbs (renommer le fichier joint à ce billet Remove_IpSec_On_IMA.txt en Remove_IpSec_On_IMA.vbs) vous permet de supprimer la dépendance IPsec du service IMA et de désactiver le service IPsec (un reboot du serveur est nécessaire afin que les paramètres soient pris en compte).

Attention pour les serveurs en PS 4.0 prendre le script Remove_IpSec_On_IMA_PS4.txt et le renommer en Remove_IpSec_On_IMA_PS4.vbs.

Concernant la désactivation du service IPsec il est aussi possible (et même recommandé) de le faire directement en GPO (si vous désactivez le service IPsec par GPO, il faut dans ce cas commenter les lignes 16,17 et 18 du script).

Dans votre GPO, aller dans Configuration Ordinateur-Paramètre Windows-Services système.

Il n’est pas possible de faire un adm custom pour supprimer la dépendance Service Ipsec du service IMA, car la clé de registre DependOnservice (HKLM\SYSTEM\CurrentControlSet\Services\IMAService)  est une clé REG_MULTI-SZ (par contre en 2008 c’est possible 🙂 )


Remove_IpSec_On_IMA.txt


Remove_IpSec_On_IMA_PS4.txt

Post to Twitter

Script de désinstallation/installation de client ICA

Si vous avez besoin d’upgrader les clients ICA de vos postes de travail, le script “IcaClientUpgrade.vbs” (renommer le fichier IcaClientUpgrade.txt en IcaClientUpgrade.vbs), va vous permettre de désinstaller le client Ica sur un poste client (si ce dernier ne répond pas à vos pré-requis) et d’installer un client ICA répondant à vos pré-requis

Si vous avez besoin d’upgrader les clients ICA de vos postes de travail, le script “IcaClientUpgrade.vbs” (renommer le fichier IcaClientUpgrade.txt en IcaClientUpgrade.vbs), va vous permettre de désinstaller le client Ica sur un poste client (si ce dernier ne répond pas à vos pré-requis) et d’installer un client ICA répondant à vos pré-requis

Continue reading “Script de désinstallation/installation de client ICA”

Post to Twitter