Bonjour,
								
								Comme demandé par certaines personnes, voici quelques “astuces” simples
									pour récupérer certaines données sur la ferme CPS/XenApp à des fins
									d’utilisations dans bginfo
								BGINFO, vous connaissez? Non? dommage… c’est un petit outil très pratique
									pour générer des fonds d’écran dynamiques permettant d’avoir de
									nombreuses informations sur la machine. Il est téléchargeable sur
									http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx. C’est un outil
									SysInternals, ce qui donne déjà une idée sur sa qualité !
								exemple de fond d’écran (source TechNet Windows SysInternals) :
								.jpg)
								Mais comment récupérer des informations pour afficher quelque chose de ce gout là :
								
								
								Il suffit, lors de la création du fond d’écran dans BGINFO d’ajouter des
									éléments manuellement. Par défaut, seules certaines informations sont disponible
									(DNS, DHCP, Domaine, System Type etc) comme vu sur la première image. Pour ajouter
									un champ personnalisé, il faut cliquer sur Custom :
								
								La fenêtre suivante liste les champs personalisés déjà définis :
								
								Il faut donc cliquer sur New et configurer comme voulu pour récupérer
									l’information désirée :
								
								J’imagine maintenant avec les manipulations décrites que vous souhaitez surtout
									connaître les différents endroits où récupérer les informations ? Pourtant
									c’est sympa de chercher plutôt que simplement lire non ?
								Liste des éléments facilement récupérables :
								Nom de la Ferme : HKEY_LOCAL_MACHINESOFTWARECitrixIMANeighborhood
								Type de DataStore : HKEY_LOCAL_MACHINESOFTWARECitrixIMADatabaseDriver
								Nom de CPS : HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixProductName
								Version de CPS :
									HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixNewProductVersion
								Edition de CPS : HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixProductFeature
								
								ID Session : variable d’environnement %SessionName%
								Mais BGINFO supporte l’utilisation de scripts VBS et des reqêtes WMI. Dans
									l’exemple que j’ai donné, j’utilise MFCOM (via VBS uniquement,
									BGINFO ne supporte pas WSF) pour récupérer la liste des hotfix installés ainsi que
									le nom de la zone et si c’est un DataCollector :
								Script pour les hotfix:
								set oShell = CreateObject( “WScript.Shell” )
								computername=oShell.ExpandEnvironmentStrings(“%ComputerName%”)
								Set theServer = CreateObject(“MetaFrameCOM.MetaFrameServer”)
								theServer.Initialize 6,computername
								nHotfixes = theServer.WinServerObject2.HotfixCount
								aHotfixes = theServer.WinServerObject2.Hotfixes
								dim Hotfix(60), HRP(60)
								For iCount = 0 To (nHotfixes – 1)
								Set aHotfix = aHotfixes(iCount)
								Hotfix(iCount)=aHotfix.Name
								if right(hotfix(iCount),3)=”R03″ or
									right(hotfix(iCount),3)=”R01″ or
									right(hotfix(iCount),3)=”R02″ or
									right(hotfix(iCount),3)=”R04″ or
									right(hotfix(iCount),3)=”R05″ or
									right(hotfix(iCount),3)=”R06″ then HRP(iCount)=right(aHotfix.Name,2)
								Next
								First = LBound(HRP)
								Last = UBound(HRP)
								MaxIndex = First
								ArrayMax = HRP(MaxIndex)
								For Index = First + 1 To Last
								If ArrayMax < HRP(Index) Then
								MaxIndex = Index
								ArrayMax = HRP(MaxIndex)
								End If
								Next
								For iCount=0 To (nHotfixes-1)
								If Instr(Hotfix(iCount), “R” & ArrayMax)>0 then
									HFDisplay=HFDisplay & ” ” & Hotfix(iCount)
								Next
								echo HFDisplay
								Script pour l’information sur la Zone et le port XML :
								set oShell = CreateObject( “WScript.Shell” )
								computername=oShell.ExpandEnvironmentStrings(“%ComputerName%”)
								Set theServer = CreateObject(“MetaFrameCOM.MetaFrameServer”)
								theServer.Initialize 6,computername
								XMLPort=theServer.WinServerObject.XMLPortNumber
								if theServer.ZoneRanking=1 then
								Zone=”Data Collector for zone ” & theServer.ZoneName
								else
								Set theZone = CreateObject(“MetaFrameCOM.MetaFrameZone”)
								theZone.Initialize theServer.ZoneName
								Zone=”Member of zone ” & theServer.ZoneName & ” (ZDC:
									” & theZone.DataCollector & “)”
								end if
								if XMLPort0 then
								XML=”XML Port : ” & XMLPort
								else
								XML=”XML port shared with IIS”
								end if
								echo Zone & VbCrLf & XML
								En espérant que cela vous plaise à tous..
								ThinIsFat
									
									
								
								
Bonjour,
								Comme demandé par certaines personnes, voici quelques “astuces” simples
									pour récupérer certaines données sur la ferme CPS/XenApp à des fins
									d’utilisations dans bginfo
								
								BGINFO, vous connaissez? Non? dommage… c’est un petit outil très pratique
									pour générer des fonds d’écran dynamiques permettant d’avoir de
									nombreuses informations sur la machine. Il est téléchargeable sur
									http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx. C’est un outil
									SysInternals, ce qui donne déjà une idée sur sa qualité !
								exemple de fond d’écran (source TechNet Windows SysInternals) :
									
 
								
								Mais comment récupérer des informations pour afficher quelque chose de ce gout là
									:
									
								
								
								Il suffit, lors de la création du fond d’écran dans BGINFO d’ajouter des
									éléments manuellement. Par défaut, seules certaines informations sont disponible
									(DNS, DHCP, Domaine, System Type etc) comme vu sur la première image. Pour ajouter
									un champ personnalisé, il faut cliquer sur Custom :
								
								La fenêtre suivante liste les champs personalisés déjà définis :
								
								Il faut donc cliquer sur New et configurer comme voulu pour récupérer
									l’information désirée :
								
								
								J’imagine maintenant avec les manipulations décrites que vous souhaitez surtout
									connaître les différents endroits où récupérer les informations ? Pourtant
									c’est sympa de chercher plutôt que simplement lire non ?
								Liste des éléments facilement récupérables :
								Nom de la Ferme : HKEY_LOCAL_MACHINESOFTWARECitrixIMANeighborhood
									
Type de DataStore : HKEY_LOCAL_MACHINESOFTWARECitrixIMADatabaseDriver
									
Nom de CPS :
									HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixProductName
									
Version de CPS :
									HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixNewProductVersion
									
Edition de CPS :
									HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCitrixProductFeature
									
ID Session : variable d’environnement %SessionName%
								
								Mais BGINFO supporte l’utilisation de scripts VBS et des reqêtes WMI. Dans
									l’exemple que j’ai donné, j’utilise MFCOM (via VBS uniquement,
									BGINFO ne supporte pas WSF) pour récupérer la liste des hotfix installés ainsi que
									le nom de la zone et si c’est un DataCollector :
								Script pour les hotfix:
								set oShell = CreateObject( “WScript.Shell” )
									
computername=oShell.ExpandEnvironmentStrings(“%ComputerName%”)
								
								Set theServer = CreateObject(“MetaFrameCOM.MetaFrameServer”)
									
theServer.Initialize 6,computername
								
								nHotfixes = theServer.WinServerObject2.HotfixCount
									
aHotfixes = theServer.WinServerObject2.Hotfixes
									
dim Hotfix(60), HRP(60)
								
								For iCount = 0 To (nHotfixes – 1)
									
 Set aHotfix = aHotfixes(iCount)
									
 Hotfix(iCount)=aHotfix.Name
									
 if right(hotfix(iCount),3)=”R03″ or
									right(hotfix(iCount),3)=”R01″ or
									right(hotfix(iCount),3)=”R02″ or
									right(hotfix(iCount),3)=”R04″ or
									right(hotfix(iCount),3)=”R05″ or
									right(hotfix(iCount),3)=”R06″ then
									HRP(iCount)=right(aHotfix.Name,2)
									
Next
									
First = LBound(HRP)
									
Last = UBound(HRP)
									
MaxIndex = First
									
ArrayMax = HRP(MaxIndex)
									
For Index = First + 1 To Last
									
 If ArrayMax
									< HRP(Index) Then 
 MaxIndex = Index
									
 ArrayMax = HRP(MaxIndex)
									
 End If
									
Next
									
For iCount=0 To (nHotfixes-1)
									
 If Instr(Hotfix(iCount), “R” & ArrayMax)>0 then
									HFDisplay=HFDisplay & ” ” & Hotfix(iCount)
									
Next
									
echo HFDisplay
								
								Script pour l’information sur la Zone et le port XML :
								set oShell = CreateObject( “WScript.Shell” )
									
									computername=oShell.ExpandEnvironmentStrings(“%ComputerName%”)
									
Set theServer = CreateObject(“MetaFrameCOM.MetaFrameServer”)
									
theServer.Initialize 6,computername
									
XMLPort=theServer.WinServerObject.XMLPortNumber
									
if theServer.ZoneRanking=1 then
									
Zone=”Data Collector for zone ” & theServer.ZoneName
									
else
									
Set theZone = CreateObject(“MetaFrameCOM.MetaFrameZone”)
									
theZone.Initialize theServer.ZoneName
									
Zone=”Member of zone ” & theServer.ZoneName & ”
									(ZDC: ” & theZone.DataCollector & “)”
									
end if
									
if XMLPort0 then
									
 XML=”XML Port : ” & XMLPort
									
else
									
XML=”XML port shared with IIS”
									
end if
									
echo Zone & VbCrLf & XML
								
								
								En espérant que cela vous plaise à tous..
								ThinIsFat