Question Tableau de bord VMware

Plus d'informations
il y a 11 ans 4 mois #4440 par Dan
Réponse de Dan sur le sujet Re:Tableau de bord VMware
Genial! je travail sur le sujet au plus tot
je ferai un mise a jour du script
merci Laurent
toujours aussi efficace !!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 mois #4443 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Tableau de bord VMware
Pour la gestion de la fenêtre, le pb était du à un flag manquant
[code:1]
function StayOnTop([IntPtr] $hWnd, [switch] $OFF)
{ #La fenêtre cible reste toujours au premier Plan (Always on top)
$FlagTop=$ApiWindows.HWND_TOPMOST

if ($Off)
{$FlagTop=$cApiWindows.HWND_NOTOPMOST}
#Pas de modification de la taille de la fenêtre ni de la position
[void](SetWindowPos $hWnd $FlagTop 0 0 0 0 ($cApiWindows.SWP_NOSIZE + $cApiWindows.SWP_NOMOVE + $cApiWindows.SWP_NOZORDER + $cApiWindows.SWP_NOACTIVATE + $SWP_SHOWWINDOW) )
}
[/code:1]
Et pour le menu, il faut utiliser L'API InsertMenu:
[code:1]
function InsertMenu([IntPtr] $hMenu,[UInt32] $Position, [UInt32] $Flags, [UInt32] $NewId,[String] $Item )
{ #Ajoute une entrée de menu.

$parameterTypes = [IntPtr], [UInt32], [UInt32], [UInt32], [String]
$parameters = $hMenu, $Position, $Flags, $NewId,$Item

Invoke-Win32 \"user32.dll\" ([Int32]) \"InsertMenu\" $parameterTypes $parameters
}
#insertion par position
InsertMenu $SystemMenu 3 ($cApiWindows.MF_BYPOSITION+$cApiWindows.MF_STRING) $cApiWindows.SC_MINIMIZE \"Réduire\"
[/code:1]
Si tu veux supprimer tout les menus :
[code:1]
$SystemMenu= GetSystemMenu $PSWindowHandle $true
DestroyMenu $SystemMenu
$SystemMenu= GetSystemMenu $PSWindowHandle $false
RemoveMenu $SystemMenu $cApiWindows.SC_MINIMIZE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_SIZE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_Move $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_MINIMIZE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_MAXIMIZE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_CLOSE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu $cApiWindows.SC_RESTORE $cApiWindows.MF_BYCOMMAND
RemoveMenu $SystemMenu 0 $cApiWindows.MF_SEPARATOR $cApiWindows.MF_BYCOMMAND
DrawMenuBar $PSWindowHandle[/code:1]
Plus de copier-coller, ni fermeture,ni de réduction, ni de sélection, bref plus grand chose
Le control-C et Control-break reste actif.
J'ai essayé de supprimer la barre de titre mais sans succcès.

Je devrais mettre à jour le package des API Windows ces prochains jours.<br><br>Message édité par: Laurent Dardenne, à: 24/03/09 11:13

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 mois #4447 par Dan
Réponse de Dan sur le sujet Re:Tableau de bord VMware
hello
j'ai mis a jour le script avec la gestion du clavier
donc arret de la boucle par esc ou Q

pour la gestion de la fenetre je bloque au debut :(
il me manque de la connaissance pour adapter le premier code avec new-struct

je ne sais meme pas par ou commencer ca me depasse totalement :silly:

La pièce jointe tableau_bord_a_publier.ps1 est absente ou indisponible

Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 mois #4449 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Tableau de bord VMware
Dan écrit:

pour la gestion de la fenetre je bloque au debut :(
il me manque de la connaissance pour adapter le premier code avec new-struct

L'usage de la function New-Struct n'est plus nécessaire, à l'origine je pensais récupérer la taille de l'écran pour renseigner l'appel à SetWindowPos.
Mais comme tu le vois dans le dernier exemple, les flags indiquent (NOSIZE) qu'on ne gére pas la taille de la fenêtre, seulement un \&quot;état\&quot; (Windows style), dans ce cas pas besoin d'appel préalable, on lui passe simplement 0,0,0,0 en coordonnées écran.

Pour le code suivant corrigé :
[code:1]function StayOnTop([IntPtr] $hWnd, [switch] $OFF)
{ #La fenêtre cible reste toujours au premier Plan (Always on top)
$FlagTop=$cApiWindows.HWND_TOPMOST

if ($Off)
{$FlagTop=$cApiWindows.HWND_NOTOPMOST}
#Pas de modification de la taille de la fenêtre ni de la position
[void](SetWindowPos $hWnd $FlagTop 0 0 0 0 ($cApiWindows.SWP_NOSIZE + $cApiWindows.SWP_NOMOVE + $cApiWindows.SWP_NOZORDER + $cApiWindows.SWP_NOACTIVATE + $cApiWindows.SWP_SHOWWINDOW) )
} [/code:1]
Il faut juste appeller la function Set-cstApiWindows avant d'utiliser la function. Cette fonction se trouve dans le fichier PackageWindowsFunction.ps1
Ce qui évite de nombreuses variables globales.<br><br>Message édité par: Laurent Dardenne, à: 24/03/09 16:40

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 mois #4451 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Tableau de bord VMware
La dernière version du package des API Windows, ce trouve ici .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 mois #4495 par Dan
Réponse de Dan sur le sujet Re:Tableau de bord VMware

La pièce jointe monitoring_publication.ps1 est absente ou indisponible

voici une version du script permettant de monitorer
- la memoire utilisée pour tous les esx
- le range d'utilisation de chaque cpu (basé sur des esx 8 cpu)
- le ballooning utilisé pour chaque ESX (0 ou 100%) l'idée etant que si le ballooning se met en marche quelle que soit la quantité de memoire utilisée c'est que la mémoire physique de l'ESX ne suffit plus donc generation d'une alarme.

une alarme parlée chaque fois qu'une valeur ateint le range (90-100%) avec out-voice trouvé ici (pour le fun)

la possibilité de controler le monitoring par touches clavier (mute et arret du pg)

et je vais travailler dés que possible pour integrer la possibilité de garder la fenetre toujours active avec ton package pour API windows
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.630 secondes
Propulsé par Kunena