Question
[Résolu] Probleme interface couleur textbox
- flavien
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 9 ans 2 mois #23326
par flavien
[Résolu] Probleme interface couleur textbox a été créé par flavien
Bonjour,
Mon script fonctionne correctement par contre j'ai un problème au niveau de la coloration de mes textbox.
En effet, je désire comparer le contenu des valeurs entre elles, afin que visuelement je puisse constater directement les inégalités.
En gros vert, quand le contenu des deux textbox sont égales et rouges, si jamais il y a une différence.
Je constate qu'en exécutant le script sans l'ISE mes textbox restent verte, alors qu'avec l'iSE elle passe en rouge si besoin.(Une textbox, c'elle pour la taille du disque ne change pas systématiquement...) d'où mon problème.
De plus est-il possible de comparer une valeur d'une textbox par une plage?
(Exemple: Si la taille du disque est à moins de 30Go près que c'elle de la valeur dans l'autre textbox, elle se met en vert; alors que si la difference est de +30 la textbox se mettra en rouge.)
Voici le code:
[code:1]
Add-Type -AssemblyName PresentationFramework, PresentationCore, WindowsBase
[xml]$XAML =@'
<Window
xmlns=\"schemas.microsoft.com/winfx/2006/xaml/presentation\"
xmlns:«»x=\"schemas.microsoft.com/winfx/2006/xaml\"
Title=\"MainWindow\" Height=\"555\" Width=\"854\">
<Grid>
<Label Content=\"Verification matériel pc\" Height=\"32\" HorizontalAlignment=\"Left\" Margin=\"330,0,0,0\" Name=\"Label1\" VerticalAlignment=\"Top\" Width=\"184\" FontSize=\"14\" FontWeight=\"Bold\" FontStyle=\"Normal\" />
<Label Content=\"Designation\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,142,0,0\" Name=\"LBL_DESIGNATION_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,142,0,0\" Name=\"TXT_DESIGNATION_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Model\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,184,0,0\" Name=\"LBL_MODELE_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,184,0,0\" Name=\"TXT_MODEL_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Serial Number\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,226,0,0\" Name=\"LBL_SERIALNUMBER_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,226,0,0\" Name=\"TXT_SERIALNUMBER_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Asset tag\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"12,75,0,0\" Name=\"LBL_ASSETTAG_1\" VerticalAlignment=\"Top\" Width=\"63\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"74,77,0,0\" Name=\"TXT_ASSETTAG_1\" VerticalAlignment=\"Top\" Width=\"170\" />
<Label Content=\"Hostname\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"245,75,0,0\" Name=\"LBL_HOSTNAME_1\" VerticalAlignment=\"Top\" Width=\"85\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"313,77,0,0\" Name=\"TXT_HOSTNAME_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Processor\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,268,0,0\" Name=\"LBL_PROCESSOR_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,268,0,0\" Name=\"TXT_PROCESSOR_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"RAM\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,310,0,0\" Name=\"LBL_RAM_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,310,0,0\" Name=\"TXT_RAM_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Hard Disk\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,352,0,0\" Name=\"LBL_HARDDISK_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<Label Content=\"MAC Address\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"524,75,0,0\" Name=\"LBL_MACADRESS_1\" VerticalAlignment=\"Top\" Width=\"85\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Right\" Margin=\"0,77,22,0\" Name=\"TXT_MACADRESS_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<TextBox Height=\"68\" HorizontalAlignment=\"Left\" Margin=\"165,352,0,0\" Name=\"TXT_HARDDISK_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Designation\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,142,0,0\" Name=\"LBL_DESIGNATION_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,142,0,0\" Name=\"TXT_DESIGNATION_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Model\" Height=\"25\" HorizontalAlignment=\"Right\" Margin=\"0,184,273,0\" Name=\"LBL_MODEL_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,184,0,0\" Name=\"TXT_MODEL_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Processor\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,268,0,0\" Name=\"LBL_PROCESSOR2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,268,0,0\" Name=\"TXT_PROCESSOR_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"RAM\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,310,0,0\" Name=\"LBL_RAM_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,310,0,0\" Name=\"TXT_RAM_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Hard Disk\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,352,0,0\" Name=\"LBL_HARDDISK_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"68\" HorizontalAlignment=\"Left\" Margin=\"565,352,0,0\" Name=\"TXT_HARDDISK_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<GroupBox Header=\"Actual configuration\" Height=\"325\" HorizontalAlignment=\"Left\" Margin=\"35,119,0,0\" Name=\"GroupBox1\" VerticalAlignment=\"Top\" Width=\"367\">
<Grid></Grid>
</GroupBox>
<GroupBox Header=\"Basic configuration\" Height=\"325\" HorizontalAlignment=\"Left\" Margin=\"433,119,0,0\" VerticalAlignment=\"Top\" Width=\"367\" Name=\"GroupBox2\">
<Grid />
</GroupBox>
<Button Content=\"Save \" Height=\"31\" HorizontalAlignment=\"Left\" Margin=\"192,463,0,0\" Name=\"BTN_SAVE\" VerticalAlignment=\"Top\" Width=\"138\" />
<Button Content=\"Quitter\" Height=\"31\" HorizontalAlignment=\"Right\" Margin=\"0,463,176,0\" Name=\"BTN_QUITTER\" VerticalAlignment=\"Top\" Width=\"138\" />
</Grid>
</Window>
'@
$reader = New-Object System.Xml.XmlNodeReader $XAML
$Form = [Windows.Markup.XamlReader]::Load($reader)
#region Declaration des variables pour les commandes
$vModel1 = (Get-WmiObject win32_computersystemproduct).name ## nom du modèle
$vDate = get-date -format d
$vProduct_ID = $model1
$vComputerName2 = (Get-WmiObject win32_computersystemproduct).version ## designation
$vSerialNumber1 = (Get-WmiObject win32_computersystemproduct).identifyingNumber
$vMacadress1 = (Get-WmiObject Win32_NetworkAdapter | ? {$_.Manufacturer -notmatch \"Bluetooth\"} | ? {$_.NetConnectionID -match \"local\"} ).MACAddress
$vAssetTag = (Get-WmiObject -Class Win32_SystemEnclosure | Select-Object SMBiosAssetTag).SMBiosAssetTag
$vRam = (get-wmiobject -class Win32_PhysicalMemory).capacity /1024 /1024
$vProcessor1 = ( Get-WmiObject Win32_Processor).maxclockspeed /1000
$vProcessorArrondi1 = [math]::Round($vProcessor1,1) ## Arrondi 1 chiffre après la virgule
$vHardisk1 = (Get-WmiObject Win32_logicaldisk | ? {$_.Deviceid -match \"C|D|E\"})
$vHardisk1_1 = $vHardisk1.size / 1GB ##conversion taille disque
$vHardisk1_1_1 = [math]::Round($vHardisk1_1,2)
##recuperation de certaines lettres pour le Hostname
$vLettre1 = 'L'
$vLettre2 = $vmodel1.substring(7,3)
$hostname = $vLettre1+$vLettre2+$vLettre3+$vSerialNumber1
#endregion
#region Declaration des Variables 3 Premieres Textbox
$Textbox_Hostname_1 = $form.findname('TXT_HOSTNAME_1')
$Textbox_AssetTag_1 = $form.findname('TXT_ASSETTAG_1')
$Textbox_SerialNumber_1 = $form.findname('TXT_SERIALNUMBER_1')
$Textbox_MacAdress_1 = $form.findname('TXT_MACADRESS_1')
#endregion
#region Declaration Interface Quitter et Save
$btn_quitter = $form.findname('BTN_QUITTER')
$btn_quitter.add_click({ $Form.close() })
$btn_save = $form.findname('BTN_SAVE')
$btn_save.add_click({
$vobjtab1 | export-csv -append $env:USERPROFILE\Desktop\extracttest.csv
})
#endregion
#region test couleur textbox si ok
#check textbox designation
if ($vComputerName2 -ge $Textbox_Designation_2.text)
{
$form.Findname('TXT_DESIGNATION_2').Background = 'Green'
$form.Findname('TXT_DESIGNATION_1').Background = 'Green'
}
Else
{
$form.Findname('TXT_DESIGNATION_2').Background = 'Red'
$form.Findname('TXT_DESIGNATION_1').Background = 'Red'
}
#textbox Model
if ($vModel1 -ge $Textbox_MODEL_2.text)
{
$form.findname('TXT_MODEL_1').Background = 'Green'
$form.findname('TXT_MODEL_2').Background = 'Green'
}
Else
{
$form.findname('TXT_MODEL_1').Background = 'Red'
$form.findname('TXT_MODEL_2').Background = 'Red'
}
#textbox processor
if ($vProcessorArrondi1 -ge $Textbox_Processor_2.text)
{
$form.findname('TXT_PROCESSOR_1').Background = 'Green'
$form.findname('TXT_PROCESSOR_2').Background = 'Green'
}
Else
{
$form.findname('TXT_PROCESSOR_1').Background = 'Red'
$form.findname('TXT_PROCESSOR_2').Background = 'Red'
}
#textbox Ram
if ($vRam -ge $Textbox_Ram_1.text)
{
$form.findname('TXT_RAM_1').Background = 'Green'
$form.findname('TXT_RAM_2').Background = 'Green'
}
Else
{
$form.findname('TXT_RAM_1').Background = 'Red'
$form.findname('TXT_RAM_2').Background = 'Red'
}
#textbox disk
if ($vHardisk1_1_1 -ge $Textbox_HardDisk_2.text)
{
$form.findname('TXT_HARDDISK_1').Background = 'Green'
$form.findname('TXT_HARDDISK_2').Background = 'Green'
}
Else
{
$form.findname('TXT_HARDDISK_1').Background = 'Red'
$form.findname('TXT_HARDDISK_2').Background = 'Red'
}
#endregion
#region Interface colonne Basic Configuration
$Textbox_Designation_1 = $form.Findname('TXT_DESIGNATION_1')
$Textbox_Model_1 = $form.findname('TXT_MODEL_1')
$Textbox_Processor_1 = $form.findname('TXT_PROCESSOR_1')
$Textbox_Ram_1 = $form.findname('TXT_RAM_1')
$Textbox_HardDisk_1 = $form.findname('TXT_HARDDISK_1')
#endregion
#region Interface colonne Actual Configuration
$Textbox_Designation_2 = $form.Findname('TXT_DESIGNATION_2')
$Textbox_Model_2 = $form.findname('TXT_MODEL_2')
$Textbox_Processor_2 = $form.findname('TXT_PROCESSOR_2')
$Textbox_Ram_2 = $form.findname('TXT_RAM_2')
$Textbox_HardDisk_2 = $form.findname('TXT_HARDDISK_2')
$Textbox_Hostname_1.text = $hostname
$Textbox_MacAdress_1.text = $vMacadress1
$Textbox_Designation_1.text = $vComputerName2
$Textbox_Model_1.text = $vModel1
$Textbox_SerialNumber_1.text = $vSerialNumber1
$Textbox_AssetTag_1.text = $vAssetTag
$Textbox_Ram_1.text = $vRam
$Textbox_Processor_1.text = $vProcessorArrondi1
$Textbox_HardDisk_1.text = $vHardisk1_1_1
#endregion
#region
#Decla tableau test
$vtab3= [string]'20FMS1GX08',[string]'Thinkpad T460',[double]2.9,[int]10000,[int]256
$vobjtab1 = [PScustomObject] @{
'Date' = $vDate ;
'Asset Tag' = $vAssetTag ;
'Mac Adress' = $vMacadress1 ;
'Designation' = $vComputerName2 ;
'Modele' = $vModel1 ;
'Serial Number' = $vSerialNumber1 ;
'Processeur' = $vProcessorArrondi1 ;
'Ram' = $vRam ;
'Disque dur' = $vHardisk1_1_1}
$vT460_1 = '20FMS1GX08'
if ($vModel1 -eq $vT460_1)
{
$vLettre3 = 'L'
$Textbox_Model_2.text = $vTab3[0]
$Textbox_Designation_2.text = $vtab3[1]
$Textbox_Processor_2.text = $vtab3[2]
$textbox_ram_2.text = $vtab3[3]
$Textbox_HardDisk_2.text = $vtab3[4]
}
#endregion
$Form.showdialog() | Out-Null[/code:1]
Merci d'avance.
Message édité par: flav631, à: 17/03/17 09:45
Message édité par: Arnaud, à: 17/03/17 15:21<br><br>Message édité par: Arnaud, à: 21/03/17 16:41
Mon script fonctionne correctement par contre j'ai un problème au niveau de la coloration de mes textbox.
En effet, je désire comparer le contenu des valeurs entre elles, afin que visuelement je puisse constater directement les inégalités.
En gros vert, quand le contenu des deux textbox sont égales et rouges, si jamais il y a une différence.
Je constate qu'en exécutant le script sans l'ISE mes textbox restent verte, alors qu'avec l'iSE elle passe en rouge si besoin.(Une textbox, c'elle pour la taille du disque ne change pas systématiquement...) d'où mon problème.
De plus est-il possible de comparer une valeur d'une textbox par une plage?
(Exemple: Si la taille du disque est à moins de 30Go près que c'elle de la valeur dans l'autre textbox, elle se met en vert; alors que si la difference est de +30 la textbox se mettra en rouge.)
Voici le code:
[code:1]
Add-Type -AssemblyName PresentationFramework, PresentationCore, WindowsBase
[xml]$XAML =@'
<Window
xmlns=\"schemas.microsoft.com/winfx/2006/xaml/presentation\"
xmlns:«»x=\"schemas.microsoft.com/winfx/2006/xaml\"
Title=\"MainWindow\" Height=\"555\" Width=\"854\">
<Grid>
<Label Content=\"Verification matériel pc\" Height=\"32\" HorizontalAlignment=\"Left\" Margin=\"330,0,0,0\" Name=\"Label1\" VerticalAlignment=\"Top\" Width=\"184\" FontSize=\"14\" FontWeight=\"Bold\" FontStyle=\"Normal\" />
<Label Content=\"Designation\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,142,0,0\" Name=\"LBL_DESIGNATION_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,142,0,0\" Name=\"TXT_DESIGNATION_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Model\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,184,0,0\" Name=\"LBL_MODELE_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,184,0,0\" Name=\"TXT_MODEL_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Serial Number\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,226,0,0\" Name=\"LBL_SERIALNUMBER_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,226,0,0\" Name=\"TXT_SERIALNUMBER_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Asset tag\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"12,75,0,0\" Name=\"LBL_ASSETTAG_1\" VerticalAlignment=\"Top\" Width=\"63\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"74,77,0,0\" Name=\"TXT_ASSETTAG_1\" VerticalAlignment=\"Top\" Width=\"170\" />
<Label Content=\"Hostname\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"245,75,0,0\" Name=\"LBL_HOSTNAME_1\" VerticalAlignment=\"Top\" Width=\"85\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"313,77,0,0\" Name=\"TXT_HOSTNAME_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Processor\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,268,0,0\" Name=\"LBL_PROCESSOR_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,268,0,0\" Name=\"TXT_PROCESSOR_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"RAM\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,310,0,0\" Name=\"LBL_RAM_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"165,310,0,0\" Name=\"TXT_RAM_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Hard Disk\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"47,352,0,0\" Name=\"LBL_HARDDISK_1\" VerticalAlignment=\"Top\" Width=\"112\" />
<Label Content=\"MAC Address\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"524,75,0,0\" Name=\"LBL_MACADRESS_1\" VerticalAlignment=\"Top\" Width=\"85\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Right\" Margin=\"0,77,22,0\" Name=\"TXT_MACADRESS_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<TextBox Height=\"68\" HorizontalAlignment=\"Left\" Margin=\"165,352,0,0\" Name=\"TXT_HARDDISK_1\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Designation\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,142,0,0\" Name=\"LBL_DESIGNATION_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,142,0,0\" Name=\"TXT_DESIGNATION_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Model\" Height=\"25\" HorizontalAlignment=\"Right\" Margin=\"0,184,273,0\" Name=\"LBL_MODEL_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,184,0,0\" Name=\"TXT_MODEL_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Processor\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,268,0,0\" Name=\"LBL_PROCESSOR2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,268,0,0\" Name=\"TXT_PROCESSOR_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"RAM\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,310,0,0\" Name=\"LBL_RAM_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"565,310,0,0\" Name=\"TXT_RAM_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<Label Content=\"Hard Disk\" Height=\"25\" HorizontalAlignment=\"Left\" Margin=\"447,352,0,0\" Name=\"LBL_HARDDISK_2\" VerticalAlignment=\"Top\" Width=\"112\" />
<TextBox Height=\"68\" HorizontalAlignment=\"Left\" Margin=\"565,352,0,0\" Name=\"TXT_HARDDISK_2\" VerticalAlignment=\"Top\" Width=\"209\" />
<GroupBox Header=\"Actual configuration\" Height=\"325\" HorizontalAlignment=\"Left\" Margin=\"35,119,0,0\" Name=\"GroupBox1\" VerticalAlignment=\"Top\" Width=\"367\">
<Grid></Grid>
</GroupBox>
<GroupBox Header=\"Basic configuration\" Height=\"325\" HorizontalAlignment=\"Left\" Margin=\"433,119,0,0\" VerticalAlignment=\"Top\" Width=\"367\" Name=\"GroupBox2\">
<Grid />
</GroupBox>
<Button Content=\"Save \" Height=\"31\" HorizontalAlignment=\"Left\" Margin=\"192,463,0,0\" Name=\"BTN_SAVE\" VerticalAlignment=\"Top\" Width=\"138\" />
<Button Content=\"Quitter\" Height=\"31\" HorizontalAlignment=\"Right\" Margin=\"0,463,176,0\" Name=\"BTN_QUITTER\" VerticalAlignment=\"Top\" Width=\"138\" />
</Grid>
</Window>
'@
$reader = New-Object System.Xml.XmlNodeReader $XAML
$Form = [Windows.Markup.XamlReader]::Load($reader)
#region Declaration des variables pour les commandes
$vModel1 = (Get-WmiObject win32_computersystemproduct).name ## nom du modèle
$vDate = get-date -format d
$vProduct_ID = $model1
$vComputerName2 = (Get-WmiObject win32_computersystemproduct).version ## designation
$vSerialNumber1 = (Get-WmiObject win32_computersystemproduct).identifyingNumber
$vMacadress1 = (Get-WmiObject Win32_NetworkAdapter | ? {$_.Manufacturer -notmatch \"Bluetooth\"} | ? {$_.NetConnectionID -match \"local\"} ).MACAddress
$vAssetTag = (Get-WmiObject -Class Win32_SystemEnclosure | Select-Object SMBiosAssetTag).SMBiosAssetTag
$vRam = (get-wmiobject -class Win32_PhysicalMemory).capacity /1024 /1024
$vProcessor1 = ( Get-WmiObject Win32_Processor).maxclockspeed /1000
$vProcessorArrondi1 = [math]::Round($vProcessor1,1) ## Arrondi 1 chiffre après la virgule
$vHardisk1 = (Get-WmiObject Win32_logicaldisk | ? {$_.Deviceid -match \"C|D|E\"})
$vHardisk1_1 = $vHardisk1.size / 1GB ##conversion taille disque
$vHardisk1_1_1 = [math]::Round($vHardisk1_1,2)
##recuperation de certaines lettres pour le Hostname
$vLettre1 = 'L'
$vLettre2 = $vmodel1.substring(7,3)
$hostname = $vLettre1+$vLettre2+$vLettre3+$vSerialNumber1
#endregion
#region Declaration des Variables 3 Premieres Textbox
$Textbox_Hostname_1 = $form.findname('TXT_HOSTNAME_1')
$Textbox_AssetTag_1 = $form.findname('TXT_ASSETTAG_1')
$Textbox_SerialNumber_1 = $form.findname('TXT_SERIALNUMBER_1')
$Textbox_MacAdress_1 = $form.findname('TXT_MACADRESS_1')
#endregion
#region Declaration Interface Quitter et Save
$btn_quitter = $form.findname('BTN_QUITTER')
$btn_quitter.add_click({ $Form.close() })
$btn_save = $form.findname('BTN_SAVE')
$btn_save.add_click({
$vobjtab1 | export-csv -append $env:USERPROFILE\Desktop\extracttest.csv
})
#endregion
#region test couleur textbox si ok
#check textbox designation
if ($vComputerName2 -ge $Textbox_Designation_2.text)
{
$form.Findname('TXT_DESIGNATION_2').Background = 'Green'
$form.Findname('TXT_DESIGNATION_1').Background = 'Green'
}
Else
{
$form.Findname('TXT_DESIGNATION_2').Background = 'Red'
$form.Findname('TXT_DESIGNATION_1').Background = 'Red'
}
#textbox Model
if ($vModel1 -ge $Textbox_MODEL_2.text)
{
$form.findname('TXT_MODEL_1').Background = 'Green'
$form.findname('TXT_MODEL_2').Background = 'Green'
}
Else
{
$form.findname('TXT_MODEL_1').Background = 'Red'
$form.findname('TXT_MODEL_2').Background = 'Red'
}
#textbox processor
if ($vProcessorArrondi1 -ge $Textbox_Processor_2.text)
{
$form.findname('TXT_PROCESSOR_1').Background = 'Green'
$form.findname('TXT_PROCESSOR_2').Background = 'Green'
}
Else
{
$form.findname('TXT_PROCESSOR_1').Background = 'Red'
$form.findname('TXT_PROCESSOR_2').Background = 'Red'
}
#textbox Ram
if ($vRam -ge $Textbox_Ram_1.text)
{
$form.findname('TXT_RAM_1').Background = 'Green'
$form.findname('TXT_RAM_2').Background = 'Green'
}
Else
{
$form.findname('TXT_RAM_1').Background = 'Red'
$form.findname('TXT_RAM_2').Background = 'Red'
}
#textbox disk
if ($vHardisk1_1_1 -ge $Textbox_HardDisk_2.text)
{
$form.findname('TXT_HARDDISK_1').Background = 'Green'
$form.findname('TXT_HARDDISK_2').Background = 'Green'
}
Else
{
$form.findname('TXT_HARDDISK_1').Background = 'Red'
$form.findname('TXT_HARDDISK_2').Background = 'Red'
}
#endregion
#region Interface colonne Basic Configuration
$Textbox_Designation_1 = $form.Findname('TXT_DESIGNATION_1')
$Textbox_Model_1 = $form.findname('TXT_MODEL_1')
$Textbox_Processor_1 = $form.findname('TXT_PROCESSOR_1')
$Textbox_Ram_1 = $form.findname('TXT_RAM_1')
$Textbox_HardDisk_1 = $form.findname('TXT_HARDDISK_1')
#endregion
#region Interface colonne Actual Configuration
$Textbox_Designation_2 = $form.Findname('TXT_DESIGNATION_2')
$Textbox_Model_2 = $form.findname('TXT_MODEL_2')
$Textbox_Processor_2 = $form.findname('TXT_PROCESSOR_2')
$Textbox_Ram_2 = $form.findname('TXT_RAM_2')
$Textbox_HardDisk_2 = $form.findname('TXT_HARDDISK_2')
$Textbox_Hostname_1.text = $hostname
$Textbox_MacAdress_1.text = $vMacadress1
$Textbox_Designation_1.text = $vComputerName2
$Textbox_Model_1.text = $vModel1
$Textbox_SerialNumber_1.text = $vSerialNumber1
$Textbox_AssetTag_1.text = $vAssetTag
$Textbox_Ram_1.text = $vRam
$Textbox_Processor_1.text = $vProcessorArrondi1
$Textbox_HardDisk_1.text = $vHardisk1_1_1
#endregion
#region
#Decla tableau test
$vtab3= [string]'20FMS1GX08',[string]'Thinkpad T460',[double]2.9,[int]10000,[int]256
$vobjtab1 = [PScustomObject] @{
'Date' = $vDate ;
'Asset Tag' = $vAssetTag ;
'Mac Adress' = $vMacadress1 ;
'Designation' = $vComputerName2 ;
'Modele' = $vModel1 ;
'Serial Number' = $vSerialNumber1 ;
'Processeur' = $vProcessorArrondi1 ;
'Ram' = $vRam ;
'Disque dur' = $vHardisk1_1_1}
$vT460_1 = '20FMS1GX08'
if ($vModel1 -eq $vT460_1)
{
$vLettre3 = 'L'
$Textbox_Model_2.text = $vTab3[0]
$Textbox_Designation_2.text = $vtab3[1]
$Textbox_Processor_2.text = $vtab3[2]
$textbox_ram_2.text = $vtab3[3]
$Textbox_HardDisk_2.text = $vtab3[4]
}
#endregion
$Form.showdialog() | Out-Null[/code:1]
Merci d'avance.
Message édité par: flav631, à: 17/03/17 09:45
Message édité par: Arnaud, à: 17/03/17 15:21<br><br>Message édité par: Arnaud, à: 21/03/17 16:41
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 9 ans 2 mois #23330
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:probleme interface couleur textbox
Bonjour Flav,
N'oublie pas que lorsque ton script sera exécuté, il le sera via Powershell.exe (console). Donc la console PowerShell doit être ta référence. Personnellement je n'ai pas trop confiance à ISE pour l'exécution des scripts et je les teste systématiquement dans la console. En gros je me sers d'ISE uniquement comme éditeur. Je te recommande d'en faire autant car parfois on a des surprises avec ISE...
Dernière chose : lorsque tu publies du code dans le forum, n'oublie pas de le mettre dans une balise \"Code\" entre crochets pour qu'il s'affiche correctement.
Arnaud
Je constate qu'en exécutant le script sans l'ISE mes textbox restent verte, alors qu'avec l'ISE elle passe en rouge si besoin, d'où mon problème.
N'oublie pas que lorsque ton script sera exécuté, il le sera via Powershell.exe (console). Donc la console PowerShell doit être ta référence. Personnellement je n'ai pas trop confiance à ISE pour l'exécution des scripts et je les teste systématiquement dans la console. En gros je me sers d'ISE uniquement comme éditeur. Je te recommande d'en faire autant car parfois on a des surprises avec ISE...
Il n'y a rien de bien compliqué ici. Tu récupères les valeurs des TextBox et tu les compares entre elles.En effet, je désire comparer le contenu des valeurs entre elles, afin que visuellement je puisse constater directement les inégalités.
Dernière chose : lorsque tu publies du code dans le forum, n'oublie pas de le mettre dans une balise \"Code\" entre crochets pour qu'il s'affiche correctement.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- flavien
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 9 ans 2 mois #23331
par flavien
Réponse de flavien sur le sujet Re:probleme interface couleur textbox
Pas de soucis pour le code.
Ok, je vais privilégier la console dans ce cas.
Par contre pour la comparaison des valeurs dans les textbox, aucun soucis c'est plus au niveau des changements de couleurs des textbox suivant la compairaison qui ne s'éffectue pas.
Je vais essayer de tester avec un bouton pour voir si ça change quelque chose.
Ok, je vais privilégier la console dans ce cas.
Par contre pour la comparaison des valeurs dans les textbox, aucun soucis c'est plus au niveau des changements de couleurs des textbox suivant la compairaison qui ne s'éffectue pas.
Je vais essayer de tester avec un bouton pour voir si ça change quelque chose.
Connexion ou Créer un compte pour participer à la conversation.
- flavien
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 9 ans 2 mois #23344
par flavien
Réponse de flavien sur le sujet Re:probleme interface couleur textbox
Pour les couleurs textbox c'est bon. Par contre j'ai un soucis concernant la comparaison de deux textbox.
En faite j'aimerais comparer mes textbox1 et 2 (taille du disque). Dans mon cas lorsque j'éxécute les commandes suivantes
[code:1] $vHardisk1 = (Get-WmiObject Win32_logicaldisk | ? {$_.Deviceid -match \"C|D|E\"})
$vHardisk1_1 = $vHardisk1.size / 1GB
$vHardisk1_1_1 = [math]::Round($vHardisk1_1,2)[/code:1]
Le soucis c'est que dans mon exemple, j'obtiens 237Go pour une taille de 256Go donner par le constructeur.
Du coup comment pourrais-je faire pour comparer mes deux textbox en disant par exemple que si mon nombre de la textbox1 (237Go) est compris entre 220 et 280Go est ok?
J'espère avoir était claire
Merci d'avance.
En faite j'aimerais comparer mes textbox1 et 2 (taille du disque). Dans mon cas lorsque j'éxécute les commandes suivantes
[code:1] $vHardisk1 = (Get-WmiObject Win32_logicaldisk | ? {$_.Deviceid -match \"C|D|E\"})
$vHardisk1_1 = $vHardisk1.size / 1GB
$vHardisk1_1_1 = [math]::Round($vHardisk1_1,2)[/code:1]
Le soucis c'est que dans mon exemple, j'obtiens 237Go pour une taille de 256Go donner par le constructeur.
Du coup comment pourrais-je faire pour comparer mes deux textbox en disant par exemple que si mon nombre de la textbox1 (237Go) est compris entre 220 et 280Go est ok?
J'espère avoir était claire
Merci d'avance.
Connexion ou Créer un compte pour participer à la conversation.
- flavien
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 9 ans 2 mois #23345
par flavien
Réponse de flavien sur le sujet Re:probleme interface couleur textbox
J'ai trouver une solution, certainement pas la meilleur mais elle fonctionne. J'ai creer différentes variables et un tableau si quelqu'un à une autre méthode je suis preneur.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Probleme interface couleur textbox