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