Récupération de variable en powershell
Bonjour à tous,
J'aurais besoin de vos lumière pour un petit souci sur un script en powershell.
J'ai créer ce script afin de me faciliter la vie au travail ainsi qu'à mes collègues.
Il a pour but de récupérer des informations pour des inventaires.
Le script est fonctionnel mais j'aurais voulu l’améliorer, actuellement il y a des messages box avec une seul information par box et ensuite toutes les information sont récupéré et mis dans un fichier .csv
Voici ce que ca donne et qui fonctionne bien :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| $Item = @()
$savdep = [System.Windows.Forms.MessageBox]::Show('Existance d une sauvegarde deportee ?','Sauvegarde Deportée','YesNo')
#################### support pour la deportee
## Titre de la Box
$form1 = New-Object System.Windows.Forms.Form
$form1.Size='300,280'
$form1.Text = 'Sauvegarde déportée'
$form1.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
##Message dans la box
$label1 = New-Object System.Windows.Forms.Label
$label1.Location='15,15'
$label1.Width=250
$label1.Text='Type de support pour la sauvegarde deportee ?'
$form1.Controls.Add($label1)
##Bouton OK
$button = New-Object System.Windows.Forms.Button
$button.Location='200,200'
$button.Text='OK'
$button.DialogResult='OK'
$form1.Controls.Add($button)
## GroupBox
$gb = New-Object System.Windows.Forms.GroupBox
$gb.Location = '20,40'
$gb.Size = '150,170'
$form1.Controls.Add($gb)
##Les choix possibles
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Disque dur USB'
$rb.Location = '10,10'
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'NAS'
$rb.Location = '10,40'
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Partage reseau'
$rb.Location = '10,70'
$rb.Width = 200
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Serveur 2003'
$rb.Location = '10,100'
$rb.Width = 200
$rb = New-Object System.Windows.Forms.RadioButton
$gb.Controls.Add($rb)
$rb.Text = 'Pas de deportee'
$rb.Location = '10,130'
$rb.Width = 200
$form1.ShowDialog()
$supportdep = $gb.Controls | Where-Object{ $_.Checked } | Select-Object Text
#######################################################################
##Definition des variables pour l'export CSV
$MyObject = New-Object PSObject -Property @{
sauvegardedeporte = $savdep
supportdeportee = $supportdep
}
$Item += $MyObject
#######################################################################
##Export CSV vers c:\
$tab = [char]9
$Item |select sauvegardedeporte,supportdeportee |export-csv -Path c:\test.Serveur.csv -Delimiter "$tab" |
Mon but est de tout mettre dans une seul box afin de pouvoir répondre aux questions dans l'ordre que l'ont souhaite.
J'ai réussi à le faire mais le problème est que je n'arrive pas à récupéré mes variables dans mon .csv
Voila ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| $Item = @()
#######################################################################
## Ajout des bibliotheque Powershell + creation de la box principal + bouton OK
Add-Type -AssemblyName System.Windows.Forms
add-type -assemblyName "Microsoft.VisualBasic"
Add-Type -AssemblyName System.Drawing
## Titre de la Box + taille de la box
$form = New-Object System.Windows.Forms.Form
$form.Size='1350,700'
$form.Text = 'Info Kwartz'
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
##Bouton OK
$button = New-Object System.Windows.Forms.Button
$button.Location='880,630'
$button.Text='OK'
$button.DialogResult='OK'
$form.Controls.Add($button)
#################### existance d'une sauvegarde deportee
## GroupBox sauvegarde deportee operationnelle
$gb8 = New-Object System.Windows.Forms.GroupBox
$gb8.Location = '790,450'
$gb8.Size = '260,80'
$form.Controls.Add($gb8)
##Message dans la box sauvegarde deportee operationnelle
$rb8 = New-Object System.Windows.Forms.Label
$gb8.Controls.Add($rb8)
$rb8.Text='Sauvegarde DEPORTEE operationnelle ?'
$rb8.Location='20,10'
$rb8.Width = 220
##Les choix possibles
$rb8 = New-Object System.Windows.Forms.RadioButton
$gb8.Controls.Add($rb8)
$rb8.Text = 'Oui'
$rb8.Location = '80,40'
$rb8.Width = 40
$rb8 = New-Object System.Windows.Forms.RadioButton
$gb8.Controls.Add($rb8)
$rb8.Text = 'Non'
$rb8.Location = '150,40'
$rb8.Width = 50
$savdep = $gb8.Controls | Where-Object{ $_.Checked } | Select-Object Text
##################################################################
## GroupBox Support de la deportee
$gb9 = New-Object System.Windows.Forms.GroupBox
$gb9.Location = '790,530'
$gb9.Size = '260,80'
$form.Controls.Add($gb9)
##Message dans la box Support de la deportee
$rb9 = New-Object System.Windows.Forms.Label
$gb9.Controls.Add($rb9)
$rb9.Text='Type de support pour la sauvegarde deportee ?'
$rb9.Location='10,10'
$rb9.Width = 245
#Liste déroulante Support de la deportee
$rb9 = New-Object System.Windows.Forms.Combobox
$rb9.Location = '60,40'
$rb9.DropDownStyle = "DropDownList"
$rb9.Items.AddRange(("Disque dur USB","NAS","Partage reseau","Serveur 2003","Pas de deportee"))
$gb9.Controls.Add($rb9)
$supportdep = $gb9.Controls | Where-Object{ $_.Checked } | Select-Object Items.AddRange
$form.ShowDialog()
#######################################################################
##Definition des variables pour l'export CSV
$MyObject = New-Object PSObject -Property @{
sauvegardedeporte = $savdep
supportdeportee = $supportdep
}
$Item += $MyObject
#######################################################################
##Export CSV vers c:\
$tab = [char]9
$Item |select sauvegardedeporte,supportdeportee |export-csv -Path c:\test.Serveur.csv -Delimiter "$tab" |
J'ai retiré une parti pour que ma demande ne soit pas trop lourde à lire donc ne soyez pas étonné de la grandeur de la box ^^
Le script fonctionne mais quand j'ouvre mon csv il est vide :\
Si vous avez une idées pour réussir à récupérer mes valeurs dans mon csv je suis preneur :)
Merci a tous ^^